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.