方法1
SELECT 32-DAY(getdate()+32-DAY(getdate()))
方法2
CREATE FUNCTION dbo.fn_getMonthDayAll ---自定义函数名称 ( @yyyyMM VARCHAR(20) ---指定输入参数格式 4位年份2位月份 ) RETURNS INT ---函数返回值类型 AS BEGIN DECLARE @dayAll INT DECLARE @monthStartDay DATETIME SET @monthStartDay =LEFT(@yyyyMM,4)+'-'+RIGHT(@yyyyMM,2)+'-01' SELECT @dayAll= DATEDIFF(DAY,@monthStartDay,DATEADD(MONTH,1,@monthStartDay)) ---获取指定月份总天数 RETURN @dayAll; END GO SELECT dbo.Fun_GetMonthDays('201804'), dbo.Fun_GetMonthDays('201808'); ---测试获取月份总天数函数