sql >> Databasteknik >  >> RDS >> MariaDB

WEEKDAY() vs DAYOFWEEK() i MariaDB:Vad är skillnaden?

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.


  1. BESTÄLL EFTER IN-värdelistan

  2. Använd TYPE_ID() för att få ID för en datatyp i SQL Server

  3. Hur använder man enums i Oracle?

  4. Automatisk plankorrigering i SQL Server