maksutovn
@maksutovn
Начинающий php программист, графический дизайнер

Как реализовать SQL запрос по времени?

У меня есть база с таблицами (id, start, end).

Это уроки, start это начало урока end конец урока (ЧЧ:ММ:СС).
Теперь как реализовать выборку чтоб узнать какой сейчас урок, если сейчас например 10:25. (+ узнать сколько минут до конца урока осталось). Вообще идей нету как сделать(
  • Вопрос задан
  • 112 просмотров
Решения вопроса 3
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
Сравнивать с NOW() не корректно потому что NOW() это текущая дата + время. Если в таблицу хранится время используем переменную CURRENT_TIME.

select 
	id, 
	title,
	start,
	end,
	timediff(end, current_time) as remain_time
from lessons
where current_time between start and end
;


MariaDB fiddle
Ответ написан
Комментировать
@alex--n
Для постгреса должно так сработать, если start и end тип timestamp. Если нет, то лучше перевести)
SELECT * FROM table_name
where start < now() and end > now();
Ответ написан
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
что-то вроде SELECT * FROM ... WHERE NOW() BETWEEN start AND end
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы