V MySQL je to DAY()
funkce je synonymem pro DAYOFMONTH()
funkce. Používá se k vrácení dne v měsíci z data.
V tomto kontextu je „den v měsíci“ hodnota mezi 1 a 31 nebo 0 pro data s nulovou částí dne. Pokud například zadáte datum 2020-05-03 , DAY()
funkce vrátí 3 .
Syntaxe
Syntaxe vypadá takto:
DAY(date)
Kde date
je hodnota data, ze které chcete vrátit den v měsíci.
Příklad
Zde je příklad k demonstraci.
SELECT DAY('2020-06-18') AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | 18 | +--------+
Pokud má část dne úvodní nulu, úvodní nula je z výsledku vynechána. Příklad:
SELECT DAY('2020-06-07') AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | 7 | +--------+
Příklad databáze
Zde je příklad extrahování části dne ze sloupce při spuštění dotazu na databázi.
USE sakila; SELECT payment_date AS 'Date/Time', DAY(payment_date) AS 'Day of Month' FROM payment WHERE payment_id = 1;
Výsledek:
+---------------------+--------------+ | Date/Time | Day of Month | +---------------------+--------------+ | 2005-05-25 11:30:37 | 25 | +---------------------+--------------+
Aktuální datum/čas
Zde je příklad extrahování části dne z aktuálního data a času (který je vrácen pomocí NOW()
funkce).
SELECT NOW(), DAY(NOW());
Výsledek:
+---------------------+------------+ | NOW() | DAY(NOW()) | +---------------------+------------+ | 2018-06-25 18:30:44 | 25 | +---------------------+------------+
Dalším způsobem, jak toho dosáhnout, je použít CURDATE()
funkce, která vrací pouze datum (ale ne čas).
SELECT CURDATE(), DAY(CURDATE());
Výsledek:
+------------+----------------+ | CURDATE() | DAY(CURDATE()) | +------------+----------------+ | 2018-06-25 | 25 | +------------+----------------+