1
รูปแบบตัวอักษรวันที่ / เวลา LANGUAGE และ DATEFORMAT ปลอดภัยอย่างไร
มันเป็นเรื่องง่ายที่จะแสดงให้เห็นว่าวันที่ / เวลารูปแบบหลายอื่น ๆกว่าสองต่อไปนี้เป็นความเสี่ยงที่จะเข้าใจผิดเนื่องจาก SET ภาษาตลาดหลักทรัพย์ DATEFORMAT หรือภาษาเริ่มต้นการเข้าสู่ระบบของ: yyyyMMdd -- unseparated, date only yyyy-MM-ddThh:mm:ss.fff -- date dash separated, date/time separated by T แม้รูปแบบนี้โดยไม่มี T อาจดูเหมือนรูปแบบ ISO 8601 ที่ถูกต้อง แต่มันล้มเหลวในหลายภาษา: DECLARE @d varchar(32) = '2017-03-13 23:22:21.020'; SET LANGUAGE Deutsch; SELECT CONVERT(datetime, @d); SET LANGUAGE Français; SELECT CONVERT(datetime, @d); ผล: Die Spracheneinstellung …