No MySQL, você pode usar o
WEEKDAY() função para retornar o índice de dias da semana para uma determinada data. Basta fornecer a data como um argumento e a função retornará o índice do dia da semana. Sintaxe
A sintaxe fica assim:
WEEKDAY(date)
Onde
date é a data da qual você deseja que o dia da semana seja retornado. Exemplo 1 – Uso básico
Aqui está um exemplo para demonstrar.
SELECT WEEKDAY('2021-01-21') AS 'Weekday';
Resultado:
+---------+ | Weekday | +---------+ | 3 | +---------+
Exemplo 2 – Comparação com DAYNAME()
Para facilitar a verificação dos resultados, aqui eu executo o
WEEKDAY() e DAYNAME() funções lado a lado. SET @date = '2021-01-21'; SELECT DAYNAME(@date) AS 'Day Name', WEEKDAY(@date) AS 'Weekday';
Resultado:
+----------+---------+ | Day Name | Weekday | +----------+---------+ | Thursday | 3 | +----------+---------+
Índice de dias úteis
Se você está se perguntando por que quinta-feira é apenas o terceiro dia da semana, veja como o índice de dias da semana é calculado:
| Índice | Dia da semana |
|---|---|
| 0 | Segunda-feira |
| 1 | terça-feira |
| 2 | Quarta-feira |
| 3 | quinta-feira |
| 4 | Sexta-feira |
| 5 | Sábado |
| 6 | Domingo |