MariaDB fornece um
WEEKDAY()
função e um DAYOFWEEK()
função, ambas retornando o dia da semana, representado como um número. Mas o número retornado é diferente entre essas funções.
Este post mostra a diferença.
A diferença
A tabela a seguir destaca a diferença entre essas duas funções:
Função | Indexação |
---|---|
WEEKDAY() | 0 =segunda-feira 1 =terça-feira 2 =quarta-feira 3 =quinta-feira 4 =sexta-feira 5 =sábado 6 =Domingo |
DAYOFWEEK() | Usa indexação ODBC, que é:1 =Domingo 2 =segunda-feira 3 =terça-feira 4 =quarta-feira 5 =quinta-feira 6 =sexta-feira 7 =Sábado |
Exemplo
Aqui está um exemplo com cada função lado a lado:
SELECT
DAYOFWEEK('2030-01-20') AS DAYOFWEEK,
WEEKDAY('2030-01-20') AS WEEKDAY,
DAYNAME('2030-01-20') AS DAYNAME;
Resultado:
+-----------+---------+---------+ | DAYOFWEEK | WEEKDAY | DAYNAME | +-----------+---------+---------+ | 1 | 6 | Sunday | +-----------+---------+---------+
Podemos ver que cada função retornou um número diferente, mesmo sendo para o mesmo dia.
Aqui, também usamos
DAYNAME()
para retornar o nome real do dia.