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.