SQL取系统时间的前一个月的月份和年份

如题,请大家帮忙,谢谢了!
请考虑1月份的情况,不要简单的月份减一,如:2009年1月20号,我要通过SQL分别得到12和2008

SQL SERVER 提供了一些时间函数:
取当前时间:select getdate()
取前一个月的时间:SELECT DATEADD(MONTH,-1,GETDATE()) 月份减一个月
取年份:SELECT YEAR( DATEADD(MONTH,-1,GETDATE())),Year 取年份
取月份:SELECT MONTH( DATEADD(MONTH,-1,GETDATE())) ,month 取月份。
如上,可通过对日期函数的各种组合,来达到目标。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-05
去查下datedadd或者datediff函数的用法
第2个回答  2009-03-05
money=month(dateadd(m,-1,datetime))
year=year(dateadd(m,-1,datetime))
第3个回答  2009-03-05
select month(dateadd(m,-1,getdate()))

select year(dateadd(m,-1,getdate()))
第4个回答  2009-03-05
if month(datetime)=1 then
yy=year(datediff(y,1,datetime))
mm=12
else
yy=year(datetime)
mm=month(datediff(m,1,datetime)
end if本回答被提问者采纳
相似回答