每月最后一天的计算

时间:2019-03-22 05:49:24

标签: sql sql-server date

我有一个表X,其中保存一个品牌每天的数据。每天的数据都是累积的,即3的销售数据将具有1、2和3的数据。因此,每月最后一天的数据将是该品牌和公司当月的销售。我想获取该品牌最近3个月的所有销售额的总和,不包括每个月最后一天的当月。 即3月:我希望每个品牌和公司的销售从2019年1月31日+ 2019年2月28日+ 2018年12月31日开始。 我该如何实现?

2 个答案:

答案 0 :(得分:0)

如果您使用的是MSSQL,则可以使用EOMONTH函数,示例如下

DECLARE @date VARCHAR(255) = '2/24/2019';  
SELECT EOMONTH ( @date ) AS Result;  

对于MySQL,您可以使用LAST_DAY函数

SELECT LAST_DAY('2019-02-24');

答案 1 :(得分:0)

假设您表示销售日期的列的名称为“ sales_date”,那么以下谓词将为您提供您感兴趣的日子:

sales_date in (
    dateadd(day, -1, dateadd(month, datediff(month, 0, getdate()) - 2, 0)),
    dateadd(day, -1, dateadd(month, datediff(month, 0, getdate()) - 1, 0)),
    dateadd(day, -1, dateadd(month, datediff(month, 0, getdate()), 0))
)