Можно ли сортировать БД с внешней переменной

277
07 августа 2017, 12:44

Вопрос таков, есть БД MySQL, в одном столбце записаны даты, которые должны произойти, в формате UNIX. Можно ли через SQL передать текущее время и произвести сортировку от события, которое раньше всего произойдет, до самого дальнего. Если событие уже произошло, то его не учитывать. Если да, то как должен выглядеть запрос? Как можно передать и сравнить текущее время?

Answer 1

в одном столбце записаны даты, которые должны произойти, в формате UNIX

То есть это формат данных INT UNSIGNED? Тогда запрос такой:

SELECT * FROM tablename WHERE uts > UNIX_TIMESTAMP() ORDER BY uts;

Если же тип столбца TIMESTAMP или DATETIME, то сравнивать нужно с NOW():

SELECT * FROM tablename WHERE eventtime > NOW() ORDER BY eventtime;

При сравнении это работает нормально, в том числе с индексами. Однако, попытка использовать, например, разницу дат (минус), хранимых в столбцах таких типов, приводит к идиотскому результату и необходимости применять функции, которые делают невозможным использование индексов.

READ ALSO
Где файл с собранными путями в Symfony 3?

Где файл с собранными путями в Symfony 3?

Существует у меня проблема что в GIT существует файл для UI с собранными путями для чьей-то debug-версии проектаИз-за этого при динамическом переключении...

316
Как создать URL наугад

Как создать URL наугад

Вот например есть сайт siteru/p(

328
Сохранение активной ссылки

Сохранение активной ссылки

Есть меню категорийПри нажатии на определённую категорию нужно, чтобы ссылка стала активной и исчез атрибут href

248
А есть ли в Qt аналог urlencode из php?

А есть ли в Qt аналог urlencode из php?

А есть ли в Qt аналог urlencode из php, чтобы кодировало QString в url строку заменяя пробелы + и прочим?

341