--根据日期获取当月有几天
DECLARE @Date VARCHAR(10) --某日期
DECLARE @NewDate VARCHAR(10) --下月的第一天
DECLARE @Month INT --当月月数
DECLARE @Day INT --天数
DECLARE @Year INT --当年年数
SET @Date = CONVERT(CHAR,GETDATE(),120) --设置日期为当天(测试用)
SET @Day = DATEPART(DAY,@Date) --获取当天是本月的第几天
SET @Year = DATEPART(YEAR,@Date) --获取当年年数
SET @Month = DATEPART(MONTH,@Date) --获取当月月数
--获取下月月数
SET @Month = @Month + 1
--获取下月的第一天的日期
SET @NewDate = CAST(@Year AS VARCHAR) + '-' + CAST(@Month AS VARCHAR) + '-1'
--当月天数 = 本日期所处当月天数 + 下月第一天日期与本日期之间的差值 - 1
SET @Day = @Day + DATEDIFF(DAY,@Date,@NewDate) - 1
SELECT @Day
本文介绍了一种使用SQL来计算指定日期所在月份总天数的方法,通过确定当前日期、获取下个月初的日期,并利用这两个日期计算出当前月份的天数。
218

被折叠的 条评论
为什么被折叠?



