SQL-一个函数的小问题,求教。
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 r
r
-----------
1980
select dateadd(month,1,dateadd(d,1980,'1900-01-01')) d
d
-----------------------
1905-07-04 00:00:00.000