MariaDB tillhandahåller en WEEKDAY()
funktion och en DAYOFWEEK()
funktion, som båda returnerar veckodagen, representerad som ett tal.
Men antalet returnerade är olika mellan dessa funktioner.
Det här inlägget tittar på skillnaden.
Skillnaden
Följande tabell visar skillnaden mellan dessa två funktioner:
Funktion | Indexering |
---|---|
WEEKDAY() | 0 =måndag 1 =tisdag 2 =onsdag 3 =torsdag 4 =fredag 5 =lördag 6 =söndag |
DAYOFWEEK() | Använder ODBC-indexering, vilket är:1 =söndag 2 =måndag 3 =tisdag 4 =onsdag 5 =torsdag 6 =fredag 7 =lördag |
Exempel
Här är ett exempel med varje funktion sida vid sida:
SELECT
DAYOFWEEK('2030-01-20') AS DAYOFWEEK,
WEEKDAY('2030-01-20') AS WEEKDAY,
DAYNAME('2030-01-20') AS DAYNAME;
Resultat:
+-----------+---------+---------+ | DAYOFWEEK | WEEKDAY | DAYNAME | +-----------+---------+---------+ | 1 | 6 | Sunday | +-----------+---------+---------+
Vi kan se att varje funktion returnerade ett annat nummer, även om det var för samma dag.
Här använde vi även DAYNAME()
för att returnera dagens namn.