日期:2014-05-18  浏览次数:20499 次

为什么select CONVERT(char(5),dateadd(year, 3 ,'2012-11-01'),110) 得出的结果是11-01 啊
select CONVERT(char(5),dateadd(year, 3 ,'2012-11-01'),110) 得出的结果是02-01,正常。
为什么select CONVERT(char(5),dateadd(year, 3 ,'2012-11-01'),110) 得出的结果是11-01 啊,不是应该是2015吗
如果想得年份的相减的结果该怎么写啊

------解决方案--------------------
SQL code
SELECT YEAR('2012-11-01')+3

------解决方案--------------------
select CONVERT(char(5),dateadd(year, 3 ,'2012-11-01'),120)

楼主日期格式错误了,应该是120的情况下才是2015
------解决方案--------------------
探讨

SQL code
SELECT YEAR('2012-11-01')+3

------解决方案--------------------
简单的方法:select datepart(yy,'2012-04-23')+3--2005
------解决方案--------------------
SQL code
select convert(char(10),getdate(),110), 
       convert(char(5),getdate(),110),
       convert(char(10),getdate(),120),
       convert(char(5),getdate(),120)
 /*
                                   
---------- ----- ---------- -----
03-13-2012 03-13 2012-03-13 03-13
*/

------解决方案--------------------
SQL code
select year('2011-4-3')+3