在SQL环境下写一个T-SQL函数求从今天往后数的500天所在日期的当月有多少天
以下是一个可能的T-SQL函数实现:
CREATE FUNCTION dbo.GetDaysOfMonthAfterToday(@days INT)
RETURNS INT
AS
BEGIN
DECLARE @targetDate DATE = DATEADD(DAY, @days, GETDATE());
DECLARE @daysInMonth INT = DAY(EOMONTH(@targetDate));
RETURN @daysInMonth;
END;
该函数接受一个整数参数@days,代表从今天往后数的天数。它首先计算出目标日期(今天加上@days天),然后使用T-SQL内置函数EOMONTH计算该日期所在月份的最后一天,即当月有多少天。最后将这个天数返回。
例如,执行以下查询:
SELECT dbo.GetDaysOfMonthAfterToday(500);
将返回当前日期500天后所在月份的天数。
原文地址: https://www.cveoy.top/t/topic/bamo 著作权归作者所有。请勿转载和采集!