Форматът на датата на MySQL е много удобна функция. Той форматира дата, както е посочено в аргумента. Списък с спецификатори на формат, даден по-долу, може да се използва за форматиране на дата. „%“ се изисква преди символите на спецификатора на формата. Ето един cheat sheet за функцията за форматиране на датата на MySQL.
Синтаксис за формат на датата на MySQL
DATE_FORMAT(дата, формат)
дата – низ от дата във формат „ГГГГ-ММ-ДД ЧЧ:ММ:СС“. Това може да бъде колона за дата от таблица, низ, както е показано по-горе, или системна функция като NOW()
формат – низ във формат „%x“. x е азбука за низа за формат.
Модерен лист с формат за дата на MySQL –
| Форматиране на низ | Описание |
|---|---|
| %a | Съкратено име на делничен ден (нед..събота) |
| %b | Съкратено име на месеца (януари..дек) |
| %ac | Месец, числови (0..12) |
| %D | Ден от месеца с английски суфикс (0th, 1st, 2nd, 3rd, …) |
| %d | Ден от месеца, цифров (00..31) |
| %e | Ден от месеца, цифров (0..31) |
| %f | Микросекунди (000000..999999) |
| %H | Час (00..23) |
| %h | Час (01..12) |
| %I | Час (01..12) |
| %i | Минути, цифрови (00..59) |
| %j | Ден от годината (001..366) |
| %k | Час (0..23) |
| %l | Час (1..12) |
| %M | Име на месеца (януари..декември) |
| %m | Месец, цифров (00..12) |
| %p | AM или PM |
| %r | Време, 12 часа (hh:mm:ss, последвано от AM или PM) |
| %S | Секунди (00..59) |
| %s | Секунди (00..59) |
| %T | Време, 24 часа (чч:мм:сс) |
| %U | Седмица (00..53), където неделя е първият ден от седмицата |
| %u | Седмица (00..53), където понеделник е първият ден от седмицата |
| %V | Седмица (01..53), където неделя е първият ден от седмицата; използва се с %X |
| %v | Седмица (01..53), където понеделник е първият ден от седмицата; използва се с %x |
| %W | Име на деня от седмицата (неделя..събота) |
| %w | Ден от седмицата (0=неделя..6=събота) |
| %X | Година за седмицата, в която неделя е първият ден от седмицата, число, четири цифри; използва се с %V |
| %x | Година за седмицата, където понеделник е първият ден от седмицата, число, четири цифри; използва се с %v |
| %Y | Година, число, четири цифри |
| %y | Година, число (две цифри) |
| %% | Буквален знак „%“ |
Пример:
#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; Резултат:
Dec 04 2013 10:40 PM Nov 05 2013 11:45 PM Oct 05 2010 10:45 PM
Както можете да видите, можете да използвате интервали, запетая или дори тирета във форматен низ. Функцията за формат на датата на MySQL ще ги запази в резултата. Останалата част от низа се заменя с подходящи формати. Ето някои често използвани формати за дата, които можете да използвате.
#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');
Техните резултати