sql >> Databasteknik >  >> RDS >> MariaDB

11 funktioner för att få dag, månad och år från ett datum i MariaDB

MariaDB innehåller många funktioner för att arbeta med datum. Vissa av dessa extraherar vissa delar från sådana datum och returnerar dem som en sträng eller heltal.

Nedan finns 11 funktioner som du kan använda för att returnera olika datumdelar i MariaDB.

Funktionerna

Först, här är funktionerna:

  • DATE_FORMAT()
  • EXTRACT()
  • DAYNAME()
  • DAYOFMONTH()
  • DAY()
  • DAYOFWEEK()
  • WEEKDAY()
  • DAYOFYEAR()
  • MONTH()
  • MONTHNAME()
  • YEAR()

Nedan finns exempel på varje funktion.

DATE_FORMAT() Funktion

DATE_FORMAT() funktionen låter dig formatera ett datum baserat på en formatsträng. Formatsträngen anger hur datumet ska formateras. Du konstruerar din egen formatsträng baserat på en eller flera formatspecifikationer.

Här är ett exempel på hur du använder DATE_FORMAT() för att returnera dagen, månaden och året från ett datum:

SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

Resultat:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
+-------------------------------------------+
| Tuesday, 25th July 2023                   |
+-------------------------------------------+

Det som är bra med den här funktionen är att du kan returnera många varianter av datumet. Till exempel kan du bara returnera de korta dag- och månadsnamnen:

SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');

Resultat:

+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%a, %D %b %Y') |
+-------------------------------------------+
| Tue, 25th Jul 2023                        |
+-------------------------------------------+

Eller så kan du returnera dagmånadsnummer:

SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');

Resultat:

+---------------------------------------+
| DATE_FORMAT('2023-07-25', '%d/%c/%Y') |
+---------------------------------------+
| 25/7/2023                             |
+---------------------------------------+

Se den här fullständiga listan med formatspecifikationer för en fullständig genomgång av formatspecifikationerna du kan använda för att konstruera en formatsträng.

DATE_FORMAT() accepterar också ett valfritt språkargument som du kan använda för att ange språket för dag- och månadsnamn. Det är en ganska flexibel funktion. Se DATE_FORMAT() för fler exempel.

EXTRACT() Funktion

EXTRACT () funktionen låter dig extrahera en specificerad enhet från datumet. Så du kan använda den för att extrahera dagen, månaden och året (liksom andra enheter) från datumet.

Exempel:

SELECT 
    EXTRACT(DAY FROM '2023-07-25') AS Day,
    EXTRACT(MONTH FROM '2023-07-25') AS Month,
    EXTRACT(YEAR FROM '2023-07-25') AS Year;

Resultat:

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
|   25 |     7 | 2023 |
+------+-------+------+

Funktioner för att returnera en specifik datumenhet

MariaDB har också ett gäng mer specifika funktioner som returnerar en specifik datumenhet.

Nedan finns en lista över de funktioner som returnerar dag, månad och år från ett datum.

DAYNAME() Funktion

Det finns en hel del funktioner för att returnera dagen i MariaDB (och de flesta andra DBMS). Detta beror på att MariaDB behöver veta om du vill ha dagsnamnet, veckodagens nummer, månadsdagen, årsdag osv.

DAYNAME() funktion returnerar veckodagsnamnet.

Exempel:

SELECT DAYNAME('2023-07-25');

Resultat:

+-----------------------+
| DAYNAME('2023-07-25') |
+-----------------------+
| Tuesday               |
+-----------------------+

DAYOFMONTH() Funktion

DAYOFMONTH() funktion returnerar numret på dagen i månaden.

Exempel:

SELECT DAYOFMONTH('2023-07-25');

Resultat:

+--------------------------+
| DAYOFMONTH('2023-07-25') |
+--------------------------+
|                       25 |
+--------------------------+

DAY() Funktion

DAY() funktion är faktiskt en synonym för DAYOFMONTH() funktion.

Exempel:

SELECT DAY('2023-07-25');

Resultat:

+-------------------+
| DAY('2023-07-25') |
+-------------------+
|                25 |
+-------------------+

Som förväntat, samma resultat som DAYOFMONTH() .

DAYOFWEEK() Funktion

DAYOFWEEK() funktion returnerar veckodagens index för datumet, enligt ODBC-standarden (1 =söndag, 2 =måndag, …, 7 =lördag).

Exempel:

SELECT DAYOFWEEK('2023-07-25');

Resultat:

+-------------------------+
| DAYOFWEEK('2023-07-25') |
+-------------------------+
|                       3 |
+-------------------------+

Se WEEKDAY() nedan för olika indexering.

WEEKDAY() Funktion

WEEKDAY() funktionen liknar DAYOFWEEK() genom att den returnerar veckoindex för datumet. Skillnaden är att den använder en annan indexnumrering (0 =måndag, 1 =tisdag, … 6 =söndag).

Exempel:

SELECT WEEKDAY('2023-07-25');

Resultat:

+-----------------------+
| WEEKDAY('2023-07-25') |
+-----------------------+
|                     1 |
+-----------------------+

DAYOFYEAR() Funktion

DAYOFYEAR() funktion returnerar dagen på året för datumet, i intervallet 1 till 366 .

Exempel:

SELECT DAYOFYEAR('2023-07-25');

Resultat:

+-------------------------+
| DAYOFYEAR('2023-07-25') |
+-------------------------+
|                     206 |
+-------------------------+

MONTH() Funktion

MONTH() funktion returnerar månaden i intervallet 1 till 12 för januari till december, eller 0 för datum som har en nollmånadsdel (som 0000-00-00 ).

Exempel:

SELECT MONTH('2023-07-25');

Resultat:

+---------------------+
| MONTH('2023-07-25') |
+---------------------+
|                   7 |
+---------------------+

MONTHNAME() Funktion

Som namnet antyder, MONTHNAME() funktion returnerar månadens namn. Språket som används för namnet styrs av värdet på lc_time_names systemvariabel.

Exempel:

SELECT MONTHNAME('2023-07-25');

Resultat:

+-------------------------+
| MONTHNAME('2023-07-25') |
+-------------------------+
| July                    |
+-------------------------+

YEAR() Funktion

YEAR() funktion returnerar årsdelen av datumet.

Exempel:

SELECT YEAR('2023-07-25');

Resultat:

+--------------------+
| YEAR('2023-07-25') |
+--------------------+
|               2023 |
+--------------------+

  1. Användarkontohantering, roller, behörigheter, autentisering PHP och MySQL - Del 2

  2. Hur man tar bort pivottabellen i MySQL

  3. 12c Föråldrade funktioner

  4. Välj en kolumn om den andra kolumnen är null