MySQL / 5. Работа с датами и временем

Вывод значений TIMESTAMP в удобном для чтения виде

Задача
Вам не нравится, как MySQL отображает значения TIMESTAMP.

Решение
Переформатируйте их при помощи функции DATE_FORMAT().

Обсуждение
Столбцы TIMESTAMP обладают рядом полезных свойств, но одно из свойств не так удачно, как другие, – формат вывода (CCYYMMDDhhmmss). Длинная непрерывная строка цифр несовместима с форматом DATETIME (CCYY-MM-DD hh:mm:ss) и неудобна для восприятия. Чтобы преобразовать значения TIMESTAMP в формат DATETIME, примените функцию DATE_FORMAT(). Следующий пример использует таблицу tsdemo2:

mysql> SELECT t_create, DATE_FORMAT(t_create,'%Y-%m-%d %T') FROM tsdemo2;

+---------------------+-----------------------------------------------------+
|           t_create     | DATE_FORMAT(t_create,'%Y-%m-%d %T') |
+---------------------+-----------------------------------------------------+
| 20020715120003 |                 2002-07-15 12:00:03                     |
+---------------------+-----------------------------------------------------+

Можно выполнить и обратное преобразование (вывести значения DATETIME в формате TIMESTAMP), хотя оно встречается довольно редко. Можно использовать DATE_FORMAT(); а можно просто добавить ноль:

mysql> SELECT dt,
-> DATE_FORMAT(dt,'%Y%m%d%H%i%s'),
-> dt+0
-> FROM datetime_val;

+--------------------------+--------------------------------------------------+----------------------+
|                   dt              | DATE_FORMAT(dt,'%Y%m%d%H%i%s') | dt+0 |
+--------------------------+--------------------------------------------------+----------------------+
| 1970-01-01 00:00:00 |                      19700101000000                   | 19700101000000 |
| 1987-03-05 12:30:15 |                      19870305123015                   | 19870305123015 |
| 1999-12-31 09:00:00 |                      19991231090000                   | 19991231090000 |
| 2000-06-04 15:45:30 |                      20000604154530                   | 20000604154530 |
+--------------------------+--------------------------------------------------+----------------------+


Вернуться в раздел: MySQL / 5. Работа с датами и временем