运行SELECT CONVERT(date, '')
的简单T-SQL查询将呈现1900-01-01
的结果。在我看来,将空白字符串转换为1753-01-01
(最小允许日期值)或NULL
会更加一致。 1900只是看起来很随意,但我认为这是MS SQL程序员精心设计的选择。这个功能的目的是什么?
答案 0 :(得分:3)
这是由于隐式转换。 sql server中的0日期是1/1/1900。之前的任何日期都是负数。
答案 1 :(得分:1)
SQL Server日期时间日历起始点是1900年1月1日的开始。