上个月至今

时间:2018-10-28 23:46:05

标签: sql

我正在尝试计算上个月迄今为止的销售额

我创建的日期如下:

sum(case when year(s.bus_dat) = year(getdate()) and month(s.bus_dat) = month(getdate()) 
then qty_sold end) as MTD_SAL,

我需要以类似的方式创建迄今为止的最后一个月(我希望代码代表从上个月开始直到今天的日期,所以如果今天是10/28/2018,我需要显示{ {1}}至09/01/2018

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

计算该月的第一天,然后使用以下方法返回一个月:

The service already exists: vstsagent.dev.mycomputername, it will be replaced
Could not delete the service 'vstsagent.dev.mycomputername'

需要确保它是一天的开始,因此请转换为日期:

dateadd(m,-1,dateadd(d,-day(getdate())+1,getdate()))

因此您的完整列将变为:

convert(date,dateadd(m,-1,dateadd(d,-day(getdate())+1,getdate())))

答案 1 :(得分:0)

要在上个月和今天之间得到一些东西,您可以使用:

BETWEEN DATE(CONCAT(YEAR(NOW()),'-',MONTH(NOW()),'-01')) - INTERVAL 1 MONTH AND DATE()