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.