Spec-Zone.ru › MariaDB

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') |
+------------------------------------------+
| Κυριακή                                  |
+------------------------------------------+

См. также

  • STR_TO_DATE()
  • FROM_UNIXTIME()
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API