Вернуть истину / ложь на основе истекшего времени из SQL - PullRequest
0 голосов
/ 03 мая 2018

Допустим, у нас есть SQL-запрос, такой как ниже

select now()-insert_time AS time_elapsed, *
from account
where enabled = true AND machine = 'one'
limit 1

возможно ли вернуть логический столбец для now()-insert_time AS time_elapsed? Я хочу, чтобы оно было истинным, если оно превышает 4 часа, и ложным, если оно составляет менее 4 часов.

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете сравнить его прямо в вашем запросе

 select now()-insert_time AS time_elapsed,
        now()-insert_time >= '4 hours' as status,
        * 
   from account 
  where enabled = true 

Как правило, вы помещаете его в CASE выражение для вывода другого значения

 select now()-insert_time AS time_elapsed,
        CASE 
             WHEN now()-insert_time >= '4 hours' THEN 'Greater than 4 hours'
             ELSE 'Less than 4 hours'
        END as status,
        * 
   from account 
  where enabled = true 
        AND machine = 'one'  
  limit 1

Надеюсь, это поможет вам.

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