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
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.EXTRACT ()
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.