Encontrar próximo día de la semana (jueves en este ejemplo) a partir de una fecha en SQL

Crear una función en la DB

CREATE FUNCTION getNextFriday(@@Fecha DateTime)
RETURNS VARCHAR(10)
AS
BEGIN
  DECLARE @nextFriday DATETIME
  DECLARE @veryOldFriday DATETIME = '19000105'
  IF (DATEDIFF(DAY, @veryOldFriday,@@Fecha) %7) = 0
BEGIN
    SELECT @nextFriday = @@Fecha
  END
ELSE
BEGIN
    SELECT @nextFriday = DATEADD(DAY,- (DATEDIFF(DAY, @veryOldFriday,@@Fecha) %7 ) + 7, @@Fecha)
  END
  RETURN CONVERT(VARCHAR(10), @nextFriday, 112)
END

Llamar la función creada en el punto anterior.

SELECT dbo.getNextThursday('2018-06-07');

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *