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