WEEKDAY
Equivalente en PostgreSQL:
Devuelve el número del día de la semana de una fecha, contando desde el lunes como 0.
MySQL 8.4
WEEKDAY(date)- date
- Fecha o fecha y horaDATE
Valor devuelto
Número entero de 0 a 6, donde 0 es lunes y 6 es domingo; NULL para una fecha incompleta y para un valor no reconocido
Ejemplos
Lunes y domingo
MySQL 8.4
SELECT WEEKDAY('2024-01-01') AS monday,
WEEKDAY('2024-01-07') AS sunday;Pagos por día de la semana
MySQL 8.4
SELECT WEEKDAY(date) + 1 AS weekday_from_monday,
COUNT(*) AS payments
FROM Payments
GROUP BY weekday_from_monday
ORDER BY weekday_from_monday;Detalles
La numeración es distinta de la de DAYOFWEEK: allí la semana empieza el domingo y se cuenta desde 1. WEEKDAY(date) + 1 da los números habituales del 1 (lunes) al 7 (domingo). En PostgreSQL, lo mismo lo da EXTRACT(ISODOW FROM date).