日期:2014-05-17  浏览次数:20753 次

SQL取当前季度的第一个月
已知问题:
获取当前季度:select  convert(varchar,datename(qq,getdate()))

详细需求:
1、要统计当季度的每月的订单数;--已解决
2、但要实现效果如下:
    第一月的销量 第二月的销量    第三月的销量
     1000    2000          3000


遇到的问题:
    怎么获取当天季度的第一个月,第二个月和第三个月的月份值?
比如说:第1季度 第一个月是1月份;第二月份是2月份;第三个月份是3月份
SQL?取当前季度的第一个月

------解决方案--------------------
select case when  datepart(mm,getdate())/3 = 1 then datepart(mm,getdate())
 when datepart(mm,getdate())/3 = 2 then datepart(mm,getdate()) -1
  when datepart(mm,getdate())/3 = 0 then datepart(mm,getdate()) -2
end

------解决方案--------------------
当前季度第一个月
select (DATEPART(q, GETDATE()) - 1) * 3 + 1
返回 4