我需要将字符串日期转换为日期时间类型。
这是一个日期场景:
'19 -Apr-36'
DECLARE @strDate VARCHAR(25)
SELECT @strDate = '19-Apr-36'
SELECT CAST(@strDate as datetime)
导致未来日期为2036-04-19
这是如何正常处理的,还有其他警告吗?
答案 0 :(得分:10)
默认情况下,SQL Server将当前世纪解释为36年。您需要明确说明1936或更改two digit year cutoff option。
编辑:只是为了澄清一下 - 您不想在服务器范围内更改设置,并且会引起更多混乱,而不是帮助您。最好选择明确的日期。
答案 1 :(得分:1)
您可以设置世纪变化的年份
sp_configure 'two digit year cutoff', 2070
reconfigure