Next_day in Sql Server

Sql server è privo della funzione Next_Day di Oracle, ovvero quella funzione che restituisce la data del prossimo giorno (lun, mar, …) indicato in parametro della data passata.

Ecco next_day per sql server.

ALTER FUNCTION [dbo].[Next_Day] (@DATE datetime, @DAYOFWEEK varchar(10))

RETURNS datetime

WITH EXECUTE AS CALLER

AS

BEGIN

DECLARE @CurrentDate AS DATETIME

– DECLARE @counter as int

SET @CurrentDate = @DATE 

SET @CurrentDate = DATEADD(d,1,@CurrentDate)

– SET @counter = 0;

WHILE (lower(DATENAME(dw,@CurrentDate)) <> lower(@DAYOFWEEK))

BEGIN

– set @counter = @counter + 1

SET @CurrentDate = DATEADD(d,1,@CurrentDate)

END

RETURN(@CurrentDate);

END;

Loading Facebook Comments ...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *