[英]Month Name and Last date of each month for previous 3 months in sql
我正在分析前 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()
函數來計算一個月的最后一天。
考慮:
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],
EOMONTH(GETDATE(), -N) AS [EOM_DATE],
DATEPART(YEAR,DATEADD(MONTH,-N,GETDATE())) AS [year]
FROM R;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.