Разница в секундах между метками времени в Sqlite3

можно ли получить разницу (в секундах) между двумя значениями метки времени в Sqlite3?

например, я попробовал следующий запрос:

SELECT CURRENT_TIMESTAMP - my_timestamp FROM my_table;

и я всегда получаю '0'. Кто-нибудь может сказать мне, что я делаю не так? (Обратите внимание, я проверил, что my_timestamp действительно в прошлом.)

2 ответов


есть:

SELECT (julianday(CURRENT_TIMESTAMP) - julianday(my_timestamp)) * 86400.0) FROM my_table;

julianday возвращает дробное число дней с полудня по Гринвичу 24 ноября 4714 Б. С. Затем я беру разницу и умножить на количество секунд в день.


другой вариант до ближайшей секунды

CAST(strftime('%s', CURRENT_TIMESTAMP) as integer) - 
CAST(strftime('%s', my_timestamp) as integer)