我有一个如下所示的T-SQL VARCHAR列:
APR-10-2018 11:33:39 AM
Dec-04-2017 11:14:24 AM
DEC-01-2017 07:24:54 PM
DEC-01-2017 07:20:28 PM
DEC-01-2017 07:19:52 PM
我想将其转换为UTC。我意识到可能需要使用CONVERT函数。但是,我尝试执行此操作一直未成功。怎么样?
答案 0 :(得分:1)
转换为DateTime无关紧要。但是,我们不知道您的时区是什么,或更重要的是,数据的时区
示例
Declare @YourTable table (SomeCol varchar(50))
Insert Into @YourTable values
('APR-10-2018 11:33:39 AM')
,('Dec-04-2017 11:14:24 AM')
,('DEC-01-2017 07:24:54 PM')
,('DEC-01-2017 07:20:28 PM')
,('DEC-01-2017 07:19:52 PM')
Select AsDateTime = try_convert(datetime,replace(SomeCol,'-',' '))
From @YourTable
返回
AsDateTime
2018-04-10 11:33:39.000
2017-12-04 11:14:24.000
2017-12-01 19:24:54.000
2017-12-01 19:20:28.000
2017-12-01 19:19:52.000
答案 1 :(得分:0)
您需要阅读cast()
和convert()
:https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-2017
[提示:您必须指定所需的日期/时间样式)。