看圖片我猜測你是使用SSMS > DB是SQL Server
在SQL Server可以使用SQL方言,Group by DATEPART(月
) + max(CTL_Date) 方式,取得每個月的最後一個營業日
select DATEPART(Year, [CTL_Date]) year
,DATEPART(MONTH, [CTL_Date]) month
, max([CTL_Date]) Last_CTL_Date
from T
group by DATEPART(Year, [CTL_Date]),DATEPART(MONTH, [CTL_Date])
或是 純真的人大大 的補充:
select Year([CTL_Date]) year
,MONTH([CTL_Date]) month
, max([CTL_Date]) Last_CTL_Date
from T
group by Year([CTL_Date]),MONTH([CTL_Date])
結果
year month Last_CTL_Date
----------- ----------- -----------------------
2018 1 2018-01-25 00:00:00.000
2018 2 2018-02-27 00:00:00.000
Test Table:
CREATE TABLE T
([CTL_Date] datetime)
;
INSERT INTO T
([CTL_Date])
VALUES
('2018-01-20 00:00:00'),
('2018-01-25 00:00:00'),
('2018-02-07 00:00:00'),
('2018-02-27 00:00:00')
;