IF EXISTS( SELECT 1 FROM sysobjects WHERE name = 'yh_fn_get_schedule_date')
DROP FUNCTION yh_fn_get_schedule_date
GO
CREATE FUNCTION yh_fn_get_schedule_date(@frequency CHAR(1),@interval_num INT ,@intervar_day INT,@period int)
RETURNS DATETIME
AS
BEGIN
--根据参数获取执行日期
--传入参数:@frequency:频率'D','W','M'
--传入参数:@interval_num 频率间隔:间隔M天,M周,M月
--传入参数:@intervar_day 执行价格:每M月N号;每M周星期N
--传入参数:@period 期数 --第I期
--返回结果:执行日期
DECLARE @weekday INT ,@monthday INT ,@monthlastday INT,@currmonthlastdate DATETIME,@lastmonthlastdate DATETIME,@month_qty INT
IF ISNULL(@period,0) = 0
BEGIN
SET @period = 1
end
DECLARE @rtn_date DATETIME
IF @frequency = 'D' --按天数
BEGIN
SELECT @rtn_date = DATEADD(D,@interval_num * @period,GETDATE())
END
ELSE IF @frequency = 'W'--按星期
BEGIN
SQL SERVER 获取多少天、多少星期、多少月后的日期
最新推荐文章于 2024-05-11 21:37:06 发布