1
语言和DATEFORMAT安全哪些日期/时间文字格式?
很容易证明,由于SET LANGUAGE,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 wurde auf Deutschgeändert。 消息242,第16级,状态3国家 地图上的Eines varchar-Datentyps,日期从WereaußerhalbdesgültigenBereichs开始。 法语的最佳语言翻译。 消息242,级别16,状态3 转换日期类型为dénéesvalchar hors …