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

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:32:22
如题,请大家帮忙,谢谢了!
请考虑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 取月份。
如上,可通过对日期函数的各种组合,来达到目标。

去查下datedadd或者datediff函数的用法

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

money=month(dateadd(m,-1,datetime))
year=year(dateadd(m,-1,datetime))

select month(dateadd(m,-1,getdate()))

select year(dateadd(m,-1,getdate()))