我需要将我的字符串日期转换为日期时间类型。
这是一个约会场景:
'19-Apr-36'
DECLARE @strDate VARCHAR(25)
SELECT @strDate = '19-Apr-36'
SELECT CAST(@strDate as datetime)
结果为 2036-04-19 的 future 日期
这通常是如何处理的,还有哪些其他注意事项?
最佳答案
默认情况下,SQL Server 将 36 年解释为当前世纪。您需要明确说明 1936 或更改 two digit year cutoff option .
编辑:只是为了澄清 - 你不想更改设置,因为它是服务器范围内的,并且会导致更多的困惑而不是帮助你。最好使用明确的日期。
关于sql - 1950 年之前的日期等同于 future 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9805686/