MariaDB udostępnia funkcję WEEKDAY() funkcja i DAYOFWEEK() funkcja, z których obie zwracają dzień tygodnia, reprezentowany jako liczba.
Ale zwracana liczba różni się między tymi funkcjami.
Ten post dotyczy różnicy.
Różnica
Poniższa tabela przedstawia różnicę między tymi dwiema funkcjami:
| Funkcja | Indeksowanie |
|---|---|
WEEKDAY() | 0 =Poniedziałek 1 =wtorek 2 =środa 3 =czwartek 4 =piątek 5 =sobota 6 =Niedziela |
DAYOFWEEK() | Używa indeksowania ODBC, czyli:1 =niedziela 2 =Poniedziałek 3 =wtorek 4 =środa 5 =czwartek 6 =piątek 7 =sobota |
Przykład
Oto przykład z każdą funkcją obok siebie:
SELECT
DAYOFWEEK('2030-01-20') AS DAYOFWEEK,
WEEKDAY('2030-01-20') AS WEEKDAY,
DAYNAME('2030-01-20') AS DAYNAME; Wynik:
+-----------+---------+---------+ | DAYOFWEEK | WEEKDAY | DAYNAME | +-----------+---------+---------+ | 1 | 6 | Sunday | +-----------+---------+---------+
Widzimy, że każda funkcja zwracała inną liczbę, mimo że dotyczyła tego samego dnia.
Tutaj również użyliśmy DAYNAME() aby zwrócić faktyczną nazwę dnia.