create function [dbo].[GetRangeDays] (@dtRange1From DATE,
@dtRange1To DATE,
@dtRange2From DATE,
@dtRange2To DATE)
RETURNS int
AS
BEGIN
IF NOT ( @dtRange2From > @dtRange1To OR @dtRange2To < @dtRange1From )
BEGIN
DECLARE @dt1 DATE
DECLARE @dt2 DATE
SELECT @dt1 = @dtRange1From,
@dt2 = @dtRange1To
IF @dtRange2From > @dt1
SET @dt1 = @dtRange2From
IF @dtRange2To < @dt2
SET @dt2 = @dtRange2To
RETURN DATEDIFF(d, @dt1, @dt2) + 1
END
RETURN 0
END
GO
本文介绍了一个SQL函数,用于计算两个日期区间内的天数。通过比较两个日期范围的起始和结束日期,该函数可以精确地计算出它们之间的天数总数。
1251

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



