【发布时间】:2020-01-05 09:00:21
【问题描述】:
我正在分析前 3 个月的客户交易,不包括当前月份,我想获取前 3 个月的月份名称以及这 3 个月中每个月的最后日期。
WITH R(N) AS (
SELECT 1 UNION ALL SELECT N+1 FROM R WHERE N < 3
)
SELECT
LEFT(DATENAME(MONTH,DATEADD(MONTH,-N,GETDATE())),3) AS [month],
DATEPART(YEAR,DATEADD(MONTH,-N,GETDATE())) AS [year]
FROM R;
---输出
month year
Aug 2019
Jul 2019
Jun 2019
---预期的
month EOM_Date year
Aug 2019-08-31 2019
Jul 2019-07-31 2019
Jun 2019-06-30 2019
【问题讨论】:
-
对于 sql server(您似乎正在使用),您可以使用 EOMONTH
-
您使用的是哪个 dbms? (使用了几个产品特定的功能。)
标签: sql sql-server