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

8 funkcí pro vrácení dne z data v MariaDB

MariaDB má celou řadu funkcí, které vracejí den z data. Vše záleží na tom, jak to chcete udělat a co rozumíte pod pojmem „den“.

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.

Níže je 8 funkcí, které vám umožňují vrátit den z data v MariaDB v různých podobách.

DAYNAME() Funkce

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 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 |
+-------------------------+

EXTRACT() Funkce

EXTRACT () Funkce umožňuje extrahovat zadanou jednotku z data. Proto jej můžete použít k extrahování dne (stejně jako jiných jednotek) z data.

Příklad:

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

Výsledek:

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

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.

Pomocí této funkce tedy můžete vrátit pouze den od data. Samozřejmě můžete vrátit i jiné jednotky, ale tento článek je o vrácení dne.

Zde je příklad, který vrací den v různých formách:

SELECT 
    DATE_FORMAT('2023-07-25', '%a') AS "%a",
    DATE_FORMAT('2023-07-25', '%D') AS "%D",
    DATE_FORMAT('2023-07-25', '%d') AS "%d",
    DATE_FORMAT('2023-07-25', '%e') AS "%e",
    DATE_FORMAT('2023-07-25', '%j') AS "%j",
    DATE_FORMAT('2023-07-25', '%W') AS "%W",
    DATE_FORMAT('2023-07-25', '%w') AS "%w";

Výsledek:

+------+------+------+------+------+---------+------+
| %a   | %D   | %d   | %e   | %j   | %W      | %w   |
+------+------+------+------+------+---------+------+
| Tue  | 25th | 25   | 25   | 206  | Tuesday | 2    |
+------+------+------+------+------+---------+------+

Vysvětlení každého z těchto formátovacích řetězců/specifikátorů najdete v části MariaDB Format Strings.


  1. Nová data nezůstávají ve sloupci pole Rails na Postgresu

  2. Uživatelská oprávnění MySQL

  3. Dynamické kontingenční sloupce v SQL Server

  4. správná syntaxe k použití poblíž '?'