Format daty MySQL jest bardzo przydatną funkcją. Formatuje datę zgodnie z argumentem. Lista specyfikatorów formatu podana poniżej może służyć do formatowania daty. „%” jest wymagane przed znakami specyfikatora formatu. Oto ściągawka do funkcji formatu daty MySQL.
Składnia formatu daty MySQL
DATE_FORMAT(data;format)
data – ciąg daty w formacie „RRRR-MM-DD GG:MM:SS”. Może to być kolumna daty z tabeli, ciąg znaków, jak pokazano powyżej lub funkcja systemowa, taka jak NOW()
format – ciąg w formacie „%x”. x jest alfabetem ciągu formatu.
Ściągawka dotycząca formatu daty MySQL –
| Sformatuj ciąg | Opis |
|---|---|
| %a | Skrócona nazwa dnia tygodnia (niedziela..sobota) |
| %b | Skrócona nazwa miesiąca (sty..gru.) |
| %ac | Miesiąc, numerycznie (0..12) |
| %D | Dzień miesiąca z angielskim sufiksem (0., 1., 2., 3., …) |
| %d | Dzień miesiąca, numeryczny (00..31) |
| %e | Dzień miesiąca, numeryczny (0..31) |
| %f | Mikrosekundy (000000..999999) |
| %H | Godzina (00..23) |
| %h | Godzina (01..12) |
| %I | Godzina (01..12) |
| %i | Minuty, numeryczne (00..59) |
| %j | Dzień roku (001..366) |
| %k | Godzina (0..23) |
| %l | Godzina (1..12) |
| %M | Nazwa miesiąca (styczeń..grudzień) |
| %m | Miesiąc, numerycznie (00..12) |
| %p | przed południem lub po południu |
| %r | Czas, 12 godzin (gg:mm:ss, a następnie AM lub PM) |
| %S | Sekundy (00..59) |
| %s | Sekundy (00..59) |
| %T | Czas, 24 godziny (gg:mm:ss) |
| %U | Tydzień (00..53), gdzie niedziela jest pierwszym dniem tygodnia |
| %u | Tydzień (00..53), gdzie poniedziałek jest pierwszym dniem tygodnia |
| %V | Tydzień (01..53), gdzie niedziela jest pierwszym dniem tygodnia; używane z %X |
| %v | Tydzień (01..53), gdzie poniedziałek jest pierwszym dniem tygodnia; używane z %x |
| %W | Nazwa dnia tygodnia (niedziela..sobota) |
| %w | Dzień tygodnia (0=niedziela..6=sobota) |
| %X | Rok dla tygodnia, w którym niedziela jest pierwszym dniem tygodnia, liczba, cztery cyfry; używany z %V |
| %x | Rok tygodnia, gdzie poniedziałek to pierwszy dzień tygodnia, numeryczny, cztery cyfry; używany z %v |
| %Y | Rok, numerycznie, cztery cyfry |
| %y | Rok, numeryczny (dwie cyfry) |
| %% | Dosłowny znak „%” |
Przykład:
#using system function now()
SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');
#using a string
SELECT DATE_FORMAT('2011-11-05 11:45:00','%b %d %Y %h:%i %p');
#using a date column
CREATE 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') from TEST; Wynik:
Dec 04 2013 10:40 PM Nov 05 2013 11:45 PM Oct 05 2010 10:45 PM
Jak widać, w ciągu formatującym możesz używać spacji, przecinków, a nawet łączników. Funkcja formatu daty MySQL zachowa je w wyniku. Reszta ciągu jest zastępowana odpowiednimi formatami. Oto kilka powszechnie używanych formatów daty, których możesz użyć.
#using system function now() SELECT DATE_FORMAT(NOW(),'%M %d, %Y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%Y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y %h:%i %p'); SELECT DATE_FORMAT(NOW(),'%M %d, %Y %h:%i %p');
Ich wyniki