我在varchar
列中有一个格式为dd/mm/yy
的SQL Server日期。我正在尝试将此字符串转换为日期,但
消息241,从字符串转换日期/时间时转换失败。
我试过CAST()
、TRY_CAST()
、TRY_CONVERT()
、CONVERT
、PARSE()
、TRY_PRASE()
。它们都不起作用。
这是我的代码:
DECLARE @d varchar(50) = '13/09/22'
SELECT TRY_CONVERT(datetime, @d, 103) -- I have tried different formats to no avail.
另外,我也试过如下选角
SELECT TRY_CAST(@d AS datetime) -- Tried datetime2 as well, but all failing.
如果我将日期部分更改为<12,转换将起作用。这意味着SQL Server以某种方式将其解释为mm/dd/yy
?
谢谢
1条答案
按热度按时间dgsult0t1#
如果您使用正确的掩码,
CONVERT()
实际上可以工作:问题是掩码
103
假定为4位年份,而不是2位年份。对于dd/mm/yy
格式的2位年份日期,请使用掩码3
。