2025-06-10 16:47:41 +02:00

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;