gpt4 book ai didi

sql-server - 如何将带时区的 JSON 日期转换为 SQL Server 日期时间?

转载 作者:行者123 更新时间:2023-12-04 00:20:00 29 4
gpt4 key购买 nike

我将 JSON 对象的输出保存在 CSV 文件中。我想将数据导入 SQL Server。我尝试将 JSON 日期列转换为 SQL Server 日期时间数据类型。

select cast('2009-06-18T16:44:20+0000' as datetime)

这会引发错误:从字符串转换日期和/或时间时转换失败。

如何将带时区的 JSON 日期转换为 SQL Server 日期时间?

最佳答案

我也有类似的问题;尽管我的日期的日期格式有点不同,但我遇到了同样的错误。我的解决方案是将其转换为 DATETIME2 值,而不仅仅是 DATETIME。如果我没有看到 Pawel 的回答,我不会尝试转换为 DATETIME2。

我获得的日期来自使用 JSON.Net 序列化为 JSON 的 C# 对象。下面是一个示例 SQL 脚本,显示了日期时间值是什么以及如何转换它。

DECLARE @effectiveDateJSON VARCHAR(MAX) = 
'{"EffectiveDate":"2017-02-07T00:00:00-06:00", "CreateDate":"2017-02-07T16:32:12.9130892-06:00"}';

SELECT *
FROM OPENJSON(@effectiveDateJSON)
WITH (EffectiveDate DATETIME2 '$.EffectiveDate',
CreateDate DATETIME2 '$.CreateDate'
);

关于sql-server - 如何将带时区的 JSON 日期转换为 SQL Server 日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38982977/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com