V MySQL, MONTHNAME() funkce vrací název měsíce z data.
Pokud například zadáte datum 2021-12-07 , MONTHNAME() funkce vrátí prosinec .
Syntaxe
Syntaxe vypadá takto:
MONTHNAME(date)
Kde date je hodnota data, ze které chcete vrátit název měsíce.
Příklad
Zde je příklad k demonstraci.
SELECT MONTHNAME('2021-12-07') AS 'Result';
Výsledek:
+----------+ | Result | +----------+ | December | +----------+
Příklad databáze
V tomto příkladu extrahuji název měsíce ze sloupce při spuštění dotazu na databázi.
USE sakila; SELECT payment_date AS 'Date/Time', MONTHNAME(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Výsledek:
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | May | +---------------------+-------+
Aktuální datum/čas
Zde je příklad extrahování názvu měsíce z aktuálního data a času (který je vrácen pomocí NOW() funkce).
SELECT
NOW(),
MONTHNAME(NOW());
Výsledek:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2018-06-29 15:19:48 | June | +---------------------+------------------+
Dalším způsobem, jak toho dosáhnout, je použít CURDATE() funkce, která vrací pouze datum (ale ne čas).
SELECT
CURDATE(),
MONTHNAME(CURDATE());
Výsledek:
+------------+----------------------+ | CURDATE() | MONTHNAME(CURDATE()) | +------------+----------------------+ | 2018-06-29 | June | +------------+----------------------+
Místní prostředí
Jazyk použitý pro název měsíce je řízen pomocí lc_time_names systémová proměnná. Zde je příklad změny hodnoty této proměnné a následného spuštění MONTHNAME() znovu.
SET lc_time_names = 'es_CL';
SELECT MONTHNAME('2021-12-07') AS 'Result';
Výsledek:
+-----------+ | Result | +-----------+ | diciembre | +-----------+
V tomto příkladu jsem změnil lc_time_names do es_CL což znamená španělština – Chile .