gpt4 book ai didi

sql-server - 在 SQL Server 和 Postgresql 中将字符串转换为 datetimeoffset

转载 作者:行者123 更新时间:2023-11-29 12:09:23 29 4
gpt4 key购买 nike

在 SQL Server 中,我有一列存储这种格式的日期:

2017-06-22T00:43:15+0300

作为字符串。

我想做的是将这些字符串转换为实际的 datatimeoffset 数据,以便将它们作为日期处理。

到目前为止,我已经找到了多个将 datetimeoffset 转换为其他时间戳格式的函数,但这些都没有引用字符串。
https://learn.microsoft.com/en-us/sql/t-sql/data-types/datetimeoffset-transact-sql

完全相同的问题出现在 postgresql 数据库上。到目前为止,我所取得的最好成绩只是截断时区并将字符串的其余部分转换为时间戳。理想情况下,我不想使用这种有损转换。

最佳答案

Time Zone Offset在Sql Server中是这样表示的

[+|-] hh:mm:

在您的数据中,offset 部分缺少分号

DECLARE @stringtime VARCHAR(100)= '2017-06-22T00:43:15+0300'

SET @stringtime = Reverse(Stuff(Reverse(@stringtime), 3, 0, ':'))

SELECT Cast(@stringtime AS DATETIMEOFFSET(4))

结果: 2017-06-22 00:43:15.0000 +03:00

关于sql-server - 在 SQL Server 和 Postgresql 中将字符串转换为 datetimeoffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44715287/

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