DATE_FORMAT
Синтаксис
DATE_FORMAT(date, format[, locale])
Описание
Форматирует значение даты в соответствии со строкой формата.
Язык, используемый для имён, контролируется значением системной переменной lc_time_names. Более подробную информацию о поддерживаемых локалях см. в разделе локалей сервера.
Параметры, которые могут использоваться функцией DATE_FORMAT(), а также её обратной функцией STR_TO_DATE() и функцией FROM_UNIXTIME():
| Параметр | Описание |
|---|---|
%a |
Короткое имя дня недели в текущей локали (переменная lc_time_names). |
%b |
Короткое имя месяца в текущей локали. Для локали en_US это одно из: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov или Dec. |
%c |
Месяц с 1 или 2 цифрами. |
%D |
День с английским суффиксом 'th', 'nd', 'st' или 'rd' (1-е, 2-е, 3-е...). |
%d |
День с 2 цифрами. |
%e |
День с 1 или 2 цифрами. |
%f |
Микросекунды 6 цифр. |
%H |
Час с 2 цифрами от 00 до 23. |
%h |
Час с 2 цифрами от 01 до 12. |
%I |
Час с 2 цифрами от 01 до 12. |
%i |
Минута с 2 цифрами. |
%j |
День года (001-366) |
%k |
Час с 1 цифрой от 0 до 23. |
%l |
Час с 1 цифрой от 1 до 12. |
%M |
Полное имя месяца в текущей локали (переменная lc_time_names). |
%m |
Месяц с 2 цифрами. |
%p |
AM/PM в соответствии с текущей локалью (переменная lc_time_names). |
%r |
Время в 12-часовом формате, сопровождаемое AM/PM. Сокращение для '%I:%i:%S %p'. |
%S |
Секунды с 2 цифрами. |
%s |
Секунды с 2 цифрами. |
%T |
Время в 24-часовом формате. Сокращение для '%H:%i:%S'. |
%U |
Номер недели (00-53), когда первый день недели - воскресенье. |
%u |
Номер недели (00-53), когда первый день недели - понедельник. |
%V |
Номер недели (01-53), когда первый день недели - воскресенье. Используется с %X. |
%v |
Номер недели (01-53), когда первый день недели - понедельник. Используется с %x. |
%W |
Полное имя дня недели в текущей локали (переменная lc_time_names). |
%w |
День недели. 0 = воскресенье, 6 = суббота. |
%X |
Год с 4 цифрами, когда первый день недели - воскресенье. Используется с %V. |
%x |
Год с 4 цифрами, когда первый день недели - понедельник. Используется с %v. |
%Y |
Год с 4 цифрами. |
%y |
Год с 2 цифрами. |
%# |
Для str_to_date(), пропускать все числа. |
%. |
Для str_to_date(), пропускать все знаки препинания. |
%@ |
Для str_to_date(), пропускать все символы алфавита. |
%% |
Буквальный символ %. |
Чтобы получить дату в одном из стандартных форматов, можно использовать GET_FORMAT().
Примеры
SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Sunday October 2009 |
+------------------------------------------------+
SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s');
+------------------------------------------------+
| DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s') |
+------------------------------------------------+
| 22:23:00 |
+------------------------------------------------+
SELECT DATE_FORMAT('1900-10-04 22:23:00', '%D %y %a %d %m %b %j');
+------------------------------------------------------------+
| DATE_FORMAT('1900-10-04 22:23:00', '%D %y %a %d %m %b %j') |
+------------------------------------------------------------+
| 4th 00 Thu 04 10 Oct 277 |
+------------------------------------------------------------+
SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H %k %I %r %T %S %w');
+------------------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%H %k %I %r %T %S %w') |
+------------------------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+------------------------------------------------------------+
SELECT DATE_FORMAT('1999-01-01', '%X %V');
+------------------------------------+
| DATE_FORMAT('1999-01-01', '%X %V') |
+------------------------------------+
| 1998 52 |
+------------------------------------+
SELECT DATE_FORMAT('2006-06-00', '%d');
+---------------------------------+
| DATE_FORMAT('2006-06-00', '%d') |
+---------------------------------+
| 00 |
+---------------------------------+
Необязательно, локаль может быть явно указана как третий аргумент функции DATE_FORMAT(). Это делает функцию независимой от настроек сеанса, и трехаргументная версия функции DATE_FORMAT() может быть использована в виртуальных индексированных и постоянных генерируемых столбцах:
SELECT DATE_FORMAT('2006-01-01', '%W', 'el_GR');
+------------------------------------------+
| DATE_FORMAT('2006-01-01', '%W', 'el_GR') |
+------------------------------------------+
| Κυριακή |
+------------------------------------------+
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/date_format/