mssql sqlserver获取指定月份当月天数总和


摘要:
下文通过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');
---测试获取月份总天数函数

转自:http://www.maomao365.com/?p=6792

原文地址:https://www.cnblogs.com/lairui1232000/p/9763289.html