Мне нужно удалить минуты и секунды для времени, сохраненного в MySQL, как тип данных TIME.Итак, 12:13:14 станет 12:00:00 и т. Д.
На данный момент у меня есть следующие опции:
SET @t = TIME(NOW());
SELECT
@t
, TIME(TIME_FORMAT(@t, '%H:00:00')) AS t1
, TIME(CONCAT(HOUR(@t), ':00:00')) AS t2
, SEC_TO_TIME(60 * 60 * FLOOR(TIME_TO_SEC(@t) / 60 / 60)) AS t3
, TIME(10000 * HOUR(@t)) AS t4
;
Код будет в триггере и выполняется дляколичество строк одновременно (не слишком много, может быть несколько сотен).
Мои вопросы:
- Я что-то пропустил?
- Что вы думаетесамый надежный / эффективный?
Спасибо.
ОБНОВЛЕНИЕ: Похоже, я пропустил функцию MAKETIME, поэтому решение будет MAKETIME(HOUR(@t), 0, 0)
PS Я знаю, что лучше всего хранить час как крошка без знака.К сожалению, я вынужден хранить его как время.