sql >> Database teknologi >  >> RDS >> MariaDB

11 funktioner til at få dagen, måneden og året fra en dato i MariaDB

MariaDB indeholder mange funktioner til at arbejde med datoer. Nogle af disse udtrækker visse dele fra sådanne datoer og returnerer dem som en streng eller heltal.

Nedenfor er 11 funktioner, som du kan bruge til at returnere forskellige datodele i MariaDB.

Funktionerne

Først her er funktionerne:

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

Nedenfor er eksempler på hver funktion.

DATE_FORMAT() Funktion

DATE_FORMAT() funktionen giver dig mulighed for at formatere en dato baseret på en formatstreng. Formatstrengen angiver, hvordan datoen skal formateres. Du konstruerer din egen formatstreng baseret på en eller flere formatspecifikationer.

Her er et eksempel på brug af DATE_FORMAT() for at returnere dagen, måneden og året fra en dato:

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 gode ved denne funktion er, at du kan returnere mange variationer af datoen. For eksempel kan du kun returnere de korte dag- og månedsnavne:

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 du kan returnere dag-månedsnumrene:

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

Resultat:

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

Se denne fulde liste over formatspecifikationer for en komplet oversigt over de formatspecifikationer, du kan bruge til at konstruere en formatstreng.

DATE_FORMAT() accepterer også et valgfrit lokalitetsargument, som du kan bruge til at angive sproget for dags- og månedsnavnene. Det er en ret fleksibel funktion. Se DATE_FORMAT() for flere eksempler.

EXTRACT() Funktion

EXTRACT () funktionen giver dig mulighed for at udtrække en specificeret enhed fra datoen. Så du kan bruge det til at udtrække dagen, måneden og året (såvel som andre enheder) fra datoen.

Eksempel:

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 til returnering af en specifik datoenhed

MariaDB har også en masse mere specifikke funktioner, der returnerer en bestemt datoenhed.

Nedenfor er en liste over de funktioner, der returnerer dagen, måneden og året fra en dato.

DAYNAME() Funktion

Der er en del funktioner til at returnere dagen i MariaDB (og de fleste andre DBMS'er). Dette er fordi, MariaDB har brug for at vide, om du vil have dagsnavnet, ugedagens nummer, månedsdagen, årsdag osv.

DAYNAME() funktion returnerer ugedagsnavnet.

Eksempel:

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

Resultat:

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

DAYOFMONTH() Funktion

DAYOFMONTH() funktion returnerer dagen i månedstallet.

Eksempel:

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

Resultat:

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

DAY() Funktion

DAY() funktion er faktisk et synonym for DAYOFMONTH() funktion.

Eksempel:

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

Resultat:

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

Som forventet, det samme resultat som DAYOFMONTH() .

DAYOFWEEK() Funktion

DAYOFWEEK() funktion returnerer ugedagsindekset for datoen, som angivet af ODBC-standarden (1 =søndag, 2 =mandag, …, 7 =lørdag).

Eksempel:

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

Resultat:

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

Se WEEKDAY() nedenfor for forskellig indeksering.

WEEKDAY() Funktion

WEEKDAY() funktion ligner DAYOFWEEK() ved at den returnerer ugeindekset for datoen. Forskellen er, at den bruger en anden indeksnummerering (0 =mandag, 1 =tirsdag, … 6 =søndag).

Eksempel:

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

Resultat:

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

DAYOFYEAR() Funktion

DAYOFYEAR() funktion returnerer dagen i året for datoen i området 1 til 366 .

Eksempel:

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

Resultat:

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

MONTH() Funktion

MONTH() funktion returnerer måneden i området 1 til 12 for januar til december eller 0 for datoer, der har en nul-måneders del (såsom 0000-00-00 ).

Eksempel:

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

Resultat:

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

MONTHNAME() Funktion

Som navnet antyder, er MONTHNAME() funktion returnerer månedens navn. Sproget, der bruges til navnet, styres af værdien af ​​lc_time_names systemvariabel.

Eksempel:

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

Resultat:

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

YEAR() Funktion

YEAR() funktion returnerer årsdelen af ​​datoen.

Eksempel:

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

Resultat:

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

  1. SQL, hvordan sammenkædes resultater?

  2. adskil kommaseparerede værdier og gem i tabel i sql server

  3. Sådan kontrolleres MySQL-databasestørrelse i Linux

  4. Hvordan får man forskel mellem to rækker til et kolonnefelt?