Как получить текущий округленный час в MySQL? - PullRequest
1 голос
/ 04 апреля 2019

select current_time() дает:

16:43:16

как я могу изменить его, чтобы получить:

16:00

Я попытался немного поиграть с этим и написал:

select TIMESTAMPDIFF(HOUR,CURDATE(),current_timestamp())

Что дает:

16

Я могу преобразовать его в строку и добавить :00, но я думаю, что может быть более простой способ получить то, что я хочу.

Есть идеи?

1 Ответ

2 голосов
/ 04 апреля 2019

Лично я бы использовал DATE_FORMAT с соответствующим форматом, включая литералы, например,

 SELECT DATE_FORMAT( CURRENT_TIME() ,'%H:00')

MySQL также предоставляет эквивалентную TIME_FORMAT функцию

 SELECT TIME_FORMAT( CURRENT_TIME() ,'%H:00')

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_time-format

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