![]() |
Imagen 1 |
Si configuramos SET DATEFIRST a 1 entonces el primer día de la semana será lunes, es decir que DATEPART(dw,
Ahora si configuramos SET DATEFIRST a 2 entonces el primer día de la semana será martes, entonces DATEPART(dw,
Si sumo los diferentes valores que puede tomar un lunes con los diferentes valores que toma la variable @@DATEFIRST tenemos lo siguiente.
@@DATEFIRST + DATEPART(dw,
==> 1 + 1 = 2
==> 2 + 7 = 9
==> 3 + 6 = 9
==> 4 + 5 = 9
==> 5 + 4 = 9
==> 6 + 3 = 9
==> 7 + 2 = 9
Obtengo que para los lunes hay dos posibles valores 2 y 9.
Repito el mismo proceso para los miércoles:
@@DATEFIRST + DATEPART(dw,
==> 1 + 3 = 4
==> 2 + 2 = 4
==> 3 + 1 = 4
==> 4 + 7 = 11
==> 5 + 6 = 11
==> 6 + 5 = 11
==> 7 + 4 = 11
Para los miércoles tengo dos posibles valores 4 y 11.
Ahora lo hago para los domingos :
@@DATEFIRST + DATEPART(dw,
==> 1 + 7 = 8
==> 2 + 6 = 8
==> 3 + 5 = 8
==> 4 + 4 = 8
==> 5 + 3 = 8
==> 6 + 2 = 8
==> 7 + 7 = 8
Para los domingos solo hay un posible valor 8.
Concluyo que si el resultado de sumar @@DATEFIRST + DATEPART(dw,
- 2 ó 9 la fecha es un lunes
- 3 ó 10 la fecha es un martes
- 4 ó 11 la fecha es un miércoles
- 5 ó 12 la fecha es un jueves
- 6 ó 13 la fecha es un viernes
- 7 ó 14 la fecha es un sábado
- 8 la fecha es un domingo.