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;