代码改变世界

SQL Server datetime默认值设置1900-01-01 变成1905-03-14 问题

2020-07-21 15:27  newbirth  阅读(1203)  评论(0编辑  收藏  举报

数据库中涉及datetime类型字段,设置默认值时 设置为'1900-01-01',注意带引号(''),不带引号,会出现错误,默认值会变成 1905/3/14

原因是

 

你那样设置,他当作是1900-1-1 = 1898。
然后你一计算就知道了。
select dateadd(dd,1898,'1900-1-1') = '1905-3-14'
这样就可以了:
带上引号 :'1900-1-1'
或者:
CREATE DEFAULT Deflultdate AS '1900-1-1'
go
sp_bindefault Deflultdate ,'mdir.createdate'