sql >> Databáze >  >> RDS >> MariaDB

11 funkcí pro získání dne, měsíce a roku z data v MariaDB

MariaDB obsahuje mnoho funkcí pro práci s daty. Některé z nich extrahují určité části z takových dat a vrátí je jako řetězec nebo celé číslo.

Níže je 11 funkcí, které můžete použít k vrácení různých částí data v MariaDB.

Funkce

Za prvé, zde jsou funkce:

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

Níže jsou uvedeny příklady každé funkce.

DATE_FORMAT() Funkce

DATE_FORMAT() Funkce umožňuje formátovat datum na základě formátovacího řetězce. Formátovací řetězec určuje, jak má být datum formátováno. Vytvoříte si svůj vlastní formátovací řetězec na základě jednoho nebo více specifikátorů formátu.

Zde je příklad použití DATE_FORMAT() vrátit den, měsíc a rok z data:

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

Výsledek:

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

Dobrá věc na této funkci je, že můžete vrátit mnoho variant data. Můžete například vrátit pouze krátký název dne a měsíce:

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

Výsledek:

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

Nebo můžete vrátit čísla dne a měsíce:

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

Výsledek:

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

Podívejte se na tento úplný seznam specifikátorů formátu pro úplný přehled specifikátorů formátu, které můžete použít k vytvoření formátovacího řetězce.

DATE_FORMAT() také přijímá volitelný argument národního prostředí, který můžete použít k určení jazyka názvů dnů a měsíců. Je to docela flexibilní funkce. Viz DATE_FORMAT() pro další příklady.

EXTRACT() Funkce

EXTRACT () Funkce umožňuje extrahovat zadanou jednotku z data. Můžete jej tedy použít k extrahování dne, měsíce a roku (a také dalších jednotek) z data.

Příklad:

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;

Výsledek:

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

Funkce pro vrácení konkrétní jednotky data

MariaDB má také spoustu specifičtějších funkcí, které vracejí konkrétní jednotku data.

Níže je uveden seznam funkcí, které vracejí den, měsíc a rok z data.

DAYNAME() Funkce

V MariaDB (a ve většině ostatních DBMS) je několik funkcí pro vrácení dne. Je to proto, že MariaDB potřebuje vědět, zda chcete název dne, číslo dne v týdnu, den v měsíci, den v roce atd.

DAYNAME() funkce vrací název dne v týdnu.

Příklad:

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

Výsledek:

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

DAYOFMONTH() Funkce

DAYOFMONTH() funkce vrací číslo dne v měsíci.

Příklad:

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

Výsledek:

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

DAY() Funkce

DAY() Funkce je ve skutečnosti synonymem pro DAYOFMONTH() funkce.

Příklad:

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

Výsledek:

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

Podle očekávání stejný výsledek jako DAYOFMONTH() .

DAYOFWEEK() Funkce

DAYOFWEEK() funkce vrací index dne v týdnu pro datum, jak je určeno standardem ODBC (1 =neděle, 2 =pondělí, …, 7 =sobota).

Příklad:

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

Výsledek:

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

Viz WEEKDAY() níže pro různé indexování.

WEEKDAY() Funkce

WEEKDAY() funkce je podobná funkci DAYOFWEEK() tím, že vrátí týdenní index pro datum. Rozdíl je v tom, že používá jiné indexové číslování (0 =pondělí, 1 =úterý, … 6 =neděle).

Příklad:

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

Výsledek:

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

DAYOFYEAR() Funkce

DAYOFYEAR() funkce vrací den v roce pro datum v rozsahu 1 na 366 .

Příklad:

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

Výsledek:

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

MONTH() Funkce

MONTH() funkce vrací měsíc v rozsahu 1 do 12 za leden až prosinec nebo 0 pro data, která mají část nula měsíce (například 0000-00-00 ).

Příklad:

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

Výsledek:

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

MONTHNAME() Funkce

Jak název napovídá, MONTHNAME() funkce vrací název měsíce. Jazyk použitý pro název je řízen hodnotou lc_time_names systémová proměnná.

Příklad:

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

Výsledek:

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

YEAR() Funkce

YEAR() funkce vrací rok část data.

Příklad:

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

Výsledek:

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

  1. Nainstalujte více instancí MySQL na server Linux – použijte samostatný konfigurační soubor MySQL

  2. 12 Doporučené postupy zabezpečení MySQL/MariaDB pro Linux

  3. Odečtěte měsíce od data v PostgreSQL

  4. MariaDB CURRENT_ROLE() Vysvětleno