使用datetime的MSSQL转换不输出Z时区指示符

时间:2014-05-13 08:09:44

标签: sql sql-server datetime

根据MSSQL documentation使用样式convert(带时区Z的ISO8601)调用127时,输出应该看起来像yyyy-mm-ddThh:mi:ss.mmmZ

但无论样式126或127如何,执行以下SQL都将输出相同的值(不含Z

SELECT convert(nvarchar(64), GetUtcDate(), 127), convert(nvarchar(64), GetUtcDate(), 126)

我读错了文档吗?第一列应以Z表示UTC时区结束,不应该吗?使用MSSQL 2012。

1 个答案:

答案 0 :(得分:5)

自2012年以来,您可以改为使用FORMAT

SELECT FORMAT(GetUtcDate(),'yyyy-MM-dd HH:mm:ss.fffzzz')

很久以前产生的:

2014-05-13 08:23:29.093+01:00

(或者,如果您想要'yyyy-MM-dd"T"HH:mm:ss.fffzzz'分隔符而不是空格,则可以使用T