print convert(nvarchar(20),dateadd(month,1,'2012-1-31'),120)
这个的输出是这样的:2012-02-29 00:00:00
print convert(nvarchar(20),dateadd(month,1,2012-1-31),120)
这个的输出就变成:1905-07-04 00:00:00
为什么去掉日期上的引号会出现这个结果?
------解决方案--------------------
因为把2012-1-31当算式了,结果是1980
- SQL code
select 2012-1-31 rr-----------1980select dateadd(month,1,dateadd(d,1980,'1900-01-01')) dd-----------------------1905-07-04 00:00:00.000