MariaDB fornisce un WEEKDAY()
funzione e un DAYOFWEEK()
funzione, che restituiscono entrambi il giorno della settimana, rappresentato da un numero.
Ma il numero restituito è diverso tra queste funzioni.
Questo post esamina la differenza.
La differenza
La tabella seguente evidenzia la differenza tra queste due funzioni:
Funzione | Indicizzazione |
---|---|
WEEKDAY() | 0 =lunedì 1 =Martedì 2 =mercoledì 3 =giovedì 4 =venerdì 5 =Sabato 6 =domenica |
DAYOFWEEK() | Utilizza l'indicizzazione ODBC, che è:1 =domenica 2 =lunedì 3 =Martedì 4 =mercoledì 5 =giovedì 6 =venerdì 7 =sabato |
Esempio
Ecco un esempio con ciascuna funzione affiancata:
SELECT
DAYOFWEEK('2030-01-20') AS DAYOFWEEK,
WEEKDAY('2030-01-20') AS WEEKDAY,
DAYNAME('2030-01-20') AS DAYNAME;
Risultato:
+-----------+---------+---------+ | DAYOFWEEK | WEEKDAY | DAYNAME | +-----------+---------+---------+ | 1 | 6 | Sunday | +-----------+---------+---------+
Possiamo vedere che ogni funzione ha restituito un numero diverso, anche se era per lo stesso giorno.
Qui abbiamo anche usato DAYNAME()
per restituire il nome effettivo del giorno.