将 'Nov 23, 2019, 1:44 PM' 转换为类似 2019-11-23 13:44:25.000 格式的日期时间的语法?

Syntax to convert 'Nov 23, 2019, 1:44 PM' to a datetime like 2019-11-23 13:44:25.000 format?

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

错误

The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.

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

原来format "107"宽容有没有逗号的,所以先把所有逗号替换掉再用"107"格式转换就可以了。

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

TRY_PARSE 函数似乎有效:

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

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