Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LAST_EVENT_PROC_DT (numeric(8,0),not null)
- '' + '|' +
- '' + '|' +
- cast(q.NEXT_EVENT_PROC_DT as varchar) + '|' + -- Due Date
- cast(q.LAST_EVENT_PROC_DT +12 as varchar) + '|' + -- Disco Date = Due date +15
- CONVERT(VARCHAR(10),GETDATE() +15,112) + '|' + -- Agency Send Date todays date + 15
- SET NOCOUNT ON
- CREATE TABLE #Dates (
- d DATE,
- isWeekend BIT,
- PRIMARY KEY (d)
- )
- DECLARE @dIncr DATE = '2000-01-01'
- DECLARE @dEnd DATE = '2100-01-01'
- WHILE ( @dIncr < @dEnd )
- BEGIN
- INSERT INTO #Dates (d, isWeekend) VALUES( @dIncr, IIF(DATEPART(WEEKDAY, @dIncr) IN (7, 1), 1, 0 ))
- SELECT @dIncr = DATEADD(DAY, 1, @dIncr )
- END
- SELECT
- '' + '|' +
- '' + '|' +
- cast(q.NEXT_EVENT_PROC_DT as varchar) + '|' + -- Due Date
- cast(dates.d as varchar) + '|' + -- Disco Date = Due date +15
- CONVERT(VARCHAR(10),GETDATE() +15,112) + '|' + -- Agency Send Date todays date + 15
- ...
- FROM <TABLE>
- CROSS APPLY
- (
- SELECT TOP 1 d
- FROM #Dates AS dates
- LEFT OUTER JOIN <holidays> ON holidays.date = dates.d
- WHERE d >= DATEADD(DAY, 12, CAST(CONVERT(CHAR(8), q.LAST_EVENT_PROC_DT) AS DATE))
- AND d.IsWeekend = 0
- AND holidays.date IS NULL
- ORDER BY d ASC
- ) AS dates
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement