SQL Server 年度區間查詢範例

在撰寫財務報表時,常需要對同期比較作分析,在區間(between)的查詢中,常會用到的區間如下範例

今年與去年同期

select convert(char(6),dateadd(yy,-1,GETDATE()),112) as 去年當月, convert(char(6),dateadd(yy,0,GETDATE()),112) as 今年當月;

-- 結果
去年當月	今年當月
202408	202508

去年一月與去年現在月份

select  convert(char(4),dateadd(yy,-1,GETDATE()),112)+'01' as 去年一月,   convert(char(6),dateadd(yy,-1,GETDATE()),112) as 去年現在月份;

-- 結果
去年一月	去年現在月份
202401	202408

今年vs去年:前一個月與前三個月

select  convert(char(6),dateadd(mm,-3,getdate()),112) as 今年前三個月, convert(char(6),dateadd(mm,-1,getdate()),112) as 今年前一個月;

select convert(char(6),dateadd(mm,-15,GETDATE()),112) as 去年前三個月, convert(char(6),dateadd(mm,-13,GETDATE()),112) as 去年前一個月;

-- 結果
今年前三個月	今年前一個月
202505	    202507

去年前三個月	去年前一個月
202405	    202407

去年一月到十二月

select  convert(char(4),dateadd(yy,-1,GETDATE()),112)+'01' as 去年一月, convert(char(4),dateadd(yy,-1,GETDATE()),112)+'12' as 去年十二月;

-- 結果
去年一月	去年十二月
202401	202412

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


內容索引