我有一个日期格式的列2006-09-08 14:39:41.000
。
我想使用此列进行查看,但我需要在 ISO 8601: 中显示日期yyyy-MM-ddThh:mm:ss.SSSZ
。
我怎样才能转换它?
问问题
55389 次
3 回答
20
ISO 8601 的转换代码是 126,您可以使用如下代码:
SELECT CONVERT(VARCHAR, DateColumn, 126) FROM Table
于 2013-05-08T07:03:40.010 回答
13
尝试以下操作:
SELECT CONVERT(char(30), '2006-09-08 14:39:41.000',126)
希望能帮助到你。
于 2013-05-08T07:00:00.627 回答
3
以下示例显示当前日期和时间,使用 CAST 将当前日期和时间更改为字符数据类型,然后使用 CONVERT 以 ISO 8901 格式显示日期和时间。
SELECT
GETDATE() AS UnconvertedDateTime,
CAST(GETDATE() AS nvarchar(30)) AS UsingCast,
CONVERT(nvarchar(30), GETDATE(), 126) AS UsingConvertTo_ISO8601 ;
GO
这是结果集。
UnconvertedDateTime UsingCast UsingConvertTo_ISO8601
----------------------- ------------------------------ ------------------------------
2006-04-18 09:58:04.570 Apr 18 2006 9:58AM 2006-04-18T09:58:04.570
(1 row(s) affected)
下面的例子与前面的例子大致相反。该示例将日期和时间显示为字符数据,使用 CAST 将字符数据更改为 datetime 数据类型,然后使用 CONVERT 将字符数据更改为 datetime 数据类型。
SELECT
'2006-04-04T15:50:59.997' AS UnconvertedText,
CAST('2006-04-04T15:50:59.997' AS datetime) AS UsingCast,
CONVERT(datetime, '2006-04-04T15:50:59.997', 126) AS UsingConvertFrom_ISO8601 ;
GO
这是结果集。
UnconvertedText UsingCast UsingConvertFrom_ISO8601
----------------------- ----------------------- ------------------------
2006-04-04T15:50:59.997 2006-04-04 15:50:59.997 2006-04-04 15:50:59.997
(1 row(s) affected)
于 2013-05-08T07:03:25.407 回答