18 lines
539 B
Transact-SQL
18 lines
539 B
Transact-SQL
CREATE FUNCTION dbo.GetFeriale (@InputDate DATE)
|
|
RETURNS DATE
|
|
AS
|
|
BEGIN
|
|
DECLARE @NextWorkingDay DATE = @InputDate;
|
|
-- Controllo se il giorno è festivo o weekend
|
|
WHILE EXISTS (
|
|
SELECT 1
|
|
FROM Holidays
|
|
WHERE HolidayDate = @NextWorkingDay
|
|
)
|
|
OR DATEPART(WEEKDAY, @NextWorkingDay) IN (1, 7) -- 1 = Domenica, 7 = Sabato
|
|
BEGIN
|
|
-- Se è festivo o weekend, passa al giorno successivo
|
|
SET @NextWorkingDay = DATEADD(DAY, 1, @NextWorkingDay);
|
|
END
|
|
RETURN @NextWorkingDay;
|
|
END; |