SQLite - Разница во времени в выражении WHERE - PullRequest
1 голос
/ 02 мая 2020

в SQLite - можно ли как-то рассчитать разницу во времени между двумя временными метками в выражении WHERE?

Я пробовал что-то вроде:

SELECT * FROM table WHERE (strftime("%s","now") - strftime("%s", last_update_timestamp)) > 300

Но, похоже, это не работает: (

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Два решения:

CAST (strftime ('% s', CURRENT_TIMESTAMP) как целое число) - CAST (strftime ('% s', my_timestamp) как целое число)

или

SELECT (julianday (CURRENT_TIMESTAMP) - julianday (my_timestamp)) * 86400.0)

julianday возвращает дробное число дней

0 голосов
/ 02 мая 2020

Вы должны добавить модификатор 'localtime' к strftime(), который возвращает текущее время:

where strftime('%s', 'now', 'localtime') - strftime('%s', last_update_timestamp) > 300
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...