Saltar al contenido

SQL DATEPART (dw, date) necesita lunes = 1 y domingo = 7

Solución:

Esto lo hará.

SET DATEFIRST 1;

-- YOUR QUERY

Ejemplos de

-- Sunday is first day of week
set datefirst 7; 
select DATEPART(dw,getdate()) as weekday


-- Monday is first day of week
set datefirst 1;
select DATEPART(dw,getdate()) as weekday

Puedes usar una fórmula como:

(weekday + 5) % 7 + 1

Si decide usar esto, valdría la pena repasar algunos ejemplos para convencerse de que realmente hace lo que desea.

adición: para no verse afectado por la variable DATEFIRST (podría establecerse en cualquier valor entre 1 y 7) la fórmula real es:

(weekday  + @@DATEFIRST + 5) % 7 + 1

Puede decirle a SQL Server que use el lunes como comienzo de la semana usando DATEFIRST de esta manera:

SET DATEFIRST 1
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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