MySQL выбирает записи, где timetamp = равные часы - PullRequest
0 голосов
/ 06 октября 2018

У меня есть много записей в таблице.Мне нужно выбрать только тех, чья метка времени Unix = 21, 22, 23 часа (равные часы)

1 Ответ

0 голосов
/ 06 октября 2018

Метка времени OP - это Unix Time в секундах, и он должен соответствовать точным часам , таким как 21:00:00 и т. Д.

  • Мыможно использовать функцию FROM_UNIXTIME() для преобразования метки времени Unix в формат даты и времени MySQL 'ГГГГ-ММ-ДД ЧЧ: ММ: СС'
  • Теперь мы можем использовать HOUR() функция, чтобы получить значение часа из даты и времени MySQL.Аналогично, мы используем функции Minute() и Second(), чтобы получить значения минут и секунд из даты и времени соответственно.Чтобы сопоставить значения часов, минуты и секунды должны быть равны нулю.

Попробуйте:

SELECT * FROM your_table 
WHERE HOUR(FROM_UNIXTIME(your_time_column)) IN (21, 22, 23)
  AND MINUTE(FROM_UNIXTIME(your_time_column)) = 0 
  AND SECOND(FROM_UNIXTIME(your_time_column)) = 0 

Если столбец времени представлен в формате даты-времени MySQL, мы можем напрямую использоватьHour() функция:

SELECT * FROM your_table 
WHERE HOUR(your_time_column) IN (21,22,23) 
  AND MINUTE(your_time_column) = 0 
  AND SECOND(your_time_column) = 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...