当前位置: 代码迷 >> Sql Server >> 为什么select CONVERT(char(5),dateadd(year, 3 ,'2012-11-01'),110) 得出的结果是11-01 啊该如何处理
  详细解决方案

为什么select CONVERT(char(5),dateadd(year, 3 ,'2012-11-01'),110) 得出的结果是11-01 啊该如何处理

热度:450   发布时间:2016-04-27 13:55:04.0
为什么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
  相关解决方案