Formát data MySQL je velmi užitečná funkce. Formátuje datum, jak je uvedeno v argumentu. K formátování data lze použít níže uvedený seznam specifikátorů formátu. „%“ je povinné před znaky specifikátoru formátu. Zde je cheat sheet pro funkci formátu data MySQL.
Syntaxe formátu data MySQL
DATE_FORMAT(datum;formát)
datum – datový řetězec ve formátu „RRRR-MM-DD HH:MM:SS“. Může to být sloupec data z tabulky, řetězec, jak je uvedeno výše, nebo systémová funkce jako NOW()
formát – řetězec ve formátu ‚%x‘. x je abeceda pro formátovací řetězec.
Cheat sheet formátu data MySQL –
Formátovat řetězec | Popis |
---|---|
%a | Zkrácený název dne v týdnu (Ne..So) |
%b | Zkrácený název měsíce (leden..prosinec) |
%ac | Měsíc, numerický (0..12) |
%D | Den v měsíci s anglickou příponou (0., 1., 2., 3., …) |
%d | Den v měsíci, číselný (00..31) |
%e | Den v měsíci, číselný (0..31) |
%f | Mikrosekundy (000000..999999) |
%H | Hodina (00..23) |
%h | Hodina (01..12) |
%I | Hodina (01..12) |
%i | Minuty, číselné (00..59) |
%j | Den v roce (001..366) |
%k | Hodina (0..23) |
%l | Hodina (1..12) |
%M | Název měsíce (leden..prosinec) |
%m | Číselný měsíc (00..12) |
%p | AM nebo PM |
%r | Čas, 12 hodin (hh:mm:ss následovaný AM nebo PM) |
%S | Sekundy (00..59) |
%s | Sekundy (00..59) |
%T | Čas, 24 hodin (hh:mm:ss) |
%U | Týden (00..53), kde neděle je prvním dnem v týdnu |
%u | Týden (00..53), kde pondělí je prvním dnem v týdnu |
%V | Týden (01..53), kde neděle je prvním dnem v týdnu; používá se s %X |
%v | Týden (01..53), kde pondělí je první den v týdnu; používá se s %x |
%W | Název dne v týdnu (neděle..sobota) |
%w | Den v týdnu (0=neděle..6=sobota) |
%X | Rok pro týden, kde neděle je prvním dnem v týdnu, číslice, čtyři číslice; používá se s %V |
%x | Rok pro týden, kde pondělí je první den v týdnu, číselné, čtyři číslice; používá se s %v |
%Y | Rok, číslice, čtyři číslice |
%y | Rok, číselný (dvě číslice) |
%% | Doslovný znak „%“ |
Příklad:
#použitím systémové funkce now()SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');#použitím řetězceSELECT DATE_FORMAT('2011-11-05 11:45:00','%b %d %Y %h:%i %p');#pomocí sloupce dataCREATE TABLE TEST(DT DATETIME);INSERT INTO TEST(DT) VALUES('2010-10-05 10:45:00');SELECT DATE_FORMAT(DT,'%b %d %Y %h:%i %p') z TEST;
Výsledek:
4. prosince 2013 22:40 5. listopadu 2013 23:45 5. října 2010 22:45
Jak vidíte, ve formátovacím řetězci můžete používat mezery, čárky nebo dokonce pomlčky. Funkce formátu data MySQL je ve výsledku zachová. Zbytek řetězce je nahrazen příslušnými formáty. Zde jsou některé běžně používané formáty data, které můžete použít.
Jejich výsledky