摘要:
下文通過sql函式的形式,獲取指定月份的總天數
實驗環境:sqlserver 2008 R2
製作思路:
1. 獲取指定月份的第一天,
2. 並採用dateadd向後加一個月形成一個新的日期
3. 將兩個日期相減,並返回之間的相差天數,作為指定月份的總天數,如下所示:
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`); ---測試獲取月份總天數函式