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