【发布时间】:2014-02-07 07:22:01
【问题描述】:
每 MSDN convert 应该使用 127 作为样式参数正确解析 ISO 8601 日期和时区。
可选的时区指示符 Z 用于更轻松地将具有时区信息的 XML 日期时间值映射到没有时区的 SQL Server 日期时间值。 Z 是时区 UTC-0 的指标。其他时区以 + 或 - 方向的 HH:MM 偏移量表示。例如:2006-12-12T23:45:12-08:00。
以下都是有效的 ISO 8601 日期,但返回从字符串转换日期和/或时间时转换失败。
select convert(datetime, N'2014-02-07T13:51:00+07:00', 127)
select convert(datetime, N'2014-02-07T13:51:00+07', 127)
select convert(datetime, N'2006-12-12T23:45:12-08:00', 127)
有人对此问题有解决方案或解决方法吗?
【问题讨论】:
-
看起来您正在指定需要
Z而不是时区的样式。显然这与您的输入字符串不匹配。
标签: sql sql-server datetime