Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE FUNCTION [dbo].[IsLoadDay](@Dt DATE)
- RETURNS BIT
- AS
- BEGIN
- DECLARE @IsLoadDay BIT = 1
- IF DATENAME(DW, @Dt) IN ('SUNDAY', 'MONDAY')
- BEGIN
- SET @IsLoadDay = 0
- END
- ELSE
- IF EXISTS(SELECT 1 FROM [DBMGMT].[dbo].[afrs_daily_load_no_load_date] WHERE [load_date] = @Dt AND [load_ind] = 'N')
- BEGIN
- SET @IsLoadDay = 0
- END
- ELSE
- IF EXISTS(SELECT 1 FROM [master].[dbo].[HOLDY_WA_STATE] WHERE [HOLDY_DATE] = @Dt)
- BEGIN
- SET @IsLoadDay = 0
- END
- RETURN @IsLoadDay
- END
- GO
- CREATE FUNCTION [dbo].[GetNextLoadDay](@Dt DATE)
- RETURNS DATE
- AS
- BEGIN
- DECLARE @NxtDt DATE
- SET @NxtDt = @Dt
- WHILE [dbo].[IsLoadDay](@NxtDt) != 1 BEGIN
- SET @NxtDt = DATEADD(D, 1, @NxtDt)
- END
- RETURN @NxtDt
- END
- GO
- CREATE FUNCTION [dbo].[GetPreviousLoadDay](@Dt DATETIME)
- RETURNS DATETIME
- AS
- BEGIN
- DECLARE @PrvDt DATE
- SET @PrvDt = DATEADD(D, -1, @Dt)
- WHILE [dbo].[IsLoadDay](@PrvDt) != 1 BEGIN
- SET @PrvDt = DATEADD(D, -1, @PrvDt)
- END
- RETURN @PrvDt
- END
- GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement