微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将日期转换为 datetime2

如何解决将日期转换为 datetime2

在我的“示例”表中,我有一个 nvarchar 的“日期”列,我想将其转换为 ISO 8601 datetime2 格式。

我现在的日期格式如下:

01-JAN-20 12.00.00.0000000AM

将其转换为 ISO 8601 datetime2 格式的代码是什么?

解决方法

ISO 8601 是日期/时间值的字符串格式规范,而 datetime2 是内部二进制值。

要将 dd-mon-yy 格式的日期字符串转换为 datetime2 值,然后将该值格式化为 ISO 8601 日期/时间字符串,您可以使用:

FORMAT(CAST('01-JAN-20' AS datetime2),'yyyy-MM-ddTHH:mm:ss.ffffff').

请注意,2 位数年份不明确,将根据实例 2-digit year cut-off configuration 进行解释。

,

SQL Server 在没有格式的转换方面非常聪明。以下似乎有效:

select convert(datetime2,left('01-JAN-20 12.00.00.0000000AM',9))

注意:这将值置于午夜,因为您将值描述为“日期”,我认为它没有时间分量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。