用SQL获取某个某年某个月份的最后一天的日期

2024-11-08 11:30:52
推荐回答(5个)
回答1:

/*
思路:首先把某日期的月份加一,再把结果的日期减一
*/
DECLARE @Date AS DATETIME
DECLARE @DateChar AS nVarChar(19)
--给日期赋值
SET @Date = GetDate()
--返回你需要的
SET @DateChar = CONVERT(Char(8), @Date, 120) + '01 00:00:00'
SELECT DATEADD(d, -1, DATEADD(m, 1, CAST(@DateChar AS DATETIME)))

回答2:

LAST_DAY(d) 返回指定时间所在月的最后一天
SELECT last_day(sysdate) FROM DUAL;

回答3:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,convert(varchar(4),getdate(),120)+'-09-01')+1, 0))
或者
select dateadd(dd,-1,DATEADD(mm,1,convert(varchar(4),getdate(),120)+'-09-01'))

09可以换成变量

回答4:

SELECT last_day(to_date('200809','yyyymm' ))FROM DUAL

如果是系统日期
用SELECT last_day(sysdate) FROM DUAL 就可以了

回答5:

MARK~才来晚了一步就这么多人答了~