Obtener el dia de la semana en una fecha

Las bases de datos actuales tienen tipos de datos especiales para almacenar fechas y horas.

En el caso de Sql Server las fechas y horas se trabajan como datetime.

El motor de base de datos tiene un conjunto de funciones específicas para trabajar con fechas.

Una de las más útiles es DATEPART, que nos permite extraer parte de la fecha: día de la semana, semana del año, mes, día del mes, etc.

En el caso de necesitar obtener el día de la semana, se utilizas la siguiente sentencia:

DATEPART(dw, campo_fecha)

Esta función retorna un valor de 1 a 7 de acuerdo al día de la semana que corresponda

El valor 1 va a depender de la configuración del motor de base de datos, pudiendo corresponder a domingo o lunes.

Para asegurarnos que se considere el día lunes como primer día de la semana, usamos la función SET DATEFIRST 1

Como ejemplo, para obtener un listado de fechas que correspondan a sábados o domingo podemos usar la siguiente consulta

SET DATEFIRST 1

SELECT * FROM TABLA1 WHERE DATEPART(DW, CAMPO_FECHA) IN (6, 7)

Mas información: DATEPART