Использование типа данных Time в MySQL без секунд

Я пытаюсь сохранить время 12 / 24hr (т. е. 00:00) в базе данных MySQL. На данный момент я использую тип данных время. Это работает нормально, но он настаивает на добавлении секунд в столбец. Таким образом, вы вводите 09:20, и он хранится как 09:20:00. Есть ли способ ограничить его в MySQL только 00: 00?

2 ответов


это кажется невозможным. The TIME тип данных определяется для представления времени суток (или прошедшего времени) с разрешением 1 секунда. Однако, вы всегда можете использовать DATE_FORMAT() функция для форматирования поля как HH:MM на SELECT запрос:

SELECT DATE_FORMAT(NOW(), '%k:%i');
+-----------------------------+
| DATE_FORMAT(NOW(), '%k:%i') |
+-----------------------------+
| 4:09                        |
+-----------------------------+
1 row in set (0.00 sec)


SELECT DATE_FORMAT(NOW(), '%H:%i');
+-----------------------------+
| DATE_FORMAT(NOW(), '%H:%i') |
+-----------------------------+
| 04:09                       |
+-----------------------------+
1 row in set (0.00 sec)

на