将“ 2019年11月23日下午1:44”转换为日期时间(例如2019-11-23 13:44:25.000格式)的语法?

我一直在寻找一种解决方案来转换我的一个数据字段,该数据字段位于'Nov 23,2019,1:44 PM'并且数据类型为nvarchar。当我使用convert(datetime,[Exam Scheduled Date/Tm],121)时收到错误消息

  

从nvarchar数据类型到datetime数据类型的转换导致值超出范围。

zhangchen208 回答:将“ 2019年11月23日下午1:44”转换为日期时间(例如2019-11-23 13:44:25.000格式)的语法?

TRY_PARSE函数似乎可以正常工作:

DECLARE @DateString nvarchar(50) = 'Nov 23,2019,1:44 PM';

SELECT TRY_PARSE(@DateString AS datetime USING 'en-us')
,

事实证明,format "107"对于是否存在逗号是宽容的,因此只需先替换所有逗号,然后使用格式“ 107”进行转换即可。

select convert(datetime,replace([Exam Scheduled Date/Tm],',''),107)
from (
  select 'Nov 23,01:44 PM' [Exam Scheduled Date/Tm]
) X
,

尝试convert(datetime,REPLACE([Exam Scheduled Date/Tm],' '),100)

本文链接:https://www.f2er.com/2982271.html

大家都在问