Выбрасывать минуты и секунды - PullRequest
0 голосов
/ 24 декабря 2018

Мне нужно удалить минуты и секунды для времени, сохраненного в 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 Я знаю, что лучше всего хранить час как крошка без знака.К сожалению, я вынужден хранить его как время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...