Выберите между двумя временными метками с условным регистром

У меня есть таблица и я хочу получить записи, где сейчас (текущая метка времени) между двумя метками времени (если не ноль):

id title start      end
1  A     1450718820 1450719000
2  B     null       null
3  C     1450718820 null
4  D     null       1450718000

Example 1: if current timestamp - 1450717990 I need records with ID: 2,4
Example 2: if current timestamp - 1450718830 I need records with ID: 1,2,3
Example 3: if current timestamp - 1450719010 I need records with ID: 2,3

Спасибо!
Начните а также конец поля bigint (20)

0

Решение

Вы можете использовать логику, такую ​​как:

select t.*
from t
where (start is null or unix_timestamp() >= start) and
(end is null or unix_timestamp() <= end);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector