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

25 lines
853 B
Transact-SQL

CREATE FUNCTION dbo.VerificaFestivo
(
@DataInput VARCHAR(8)
)
RETURNS VARCHAR(8)
AS
BEGIN
DECLARE @DataFeriale DATE
-- Converte la stringa di input nel formato data
SET @DataInput = CONVERT(VARCHAR, @DataInput, 112)
SET @DataFeriale = CAST(@DataInput AS DATE)
-- Verifica se la data è sabato o domenica
IF DATEPART(WEEKDAY, @DataFeriale) = 7 -- 7 = Sabato
BEGIN
-- Se è sabato, restituisci la giornata precedente
SET @DataFeriale = DATEADD(DAY, -1, @DataFeriale)
END
ELSE IF DATEPART(WEEKDAY, @DataFeriale) = 1 -- 1 = Domenica
BEGIN
-- Se è domenica, restituisci la giornata successiva
SET @DataFeriale = DATEADD(DAY, 1, @DataFeriale)
END
-- Formatta la data nel formato desiderato e restituisci come stringa
RETURN CONVERT(VARCHAR(8), @DataFeriale, 112)
END;