У меня есть таблица, в которой есть столбец с отметкой времени в sqlite3. По умолчанию используется CURRENT_TIMESTAMP
, так что при вставке строки вставляется текущее время. Теперь я пытаюсь получить строки, которые были вставлены 2 дня назад или более. Интересно, есть ли в этом смысл.
Читая документацию, я придумал:
SELECT * FROM test WHERE timestamp < strftime('%s', '-2 days')
но видимо это неправильно. Я придумал этот запрос, потому что он похож на то, как я выполняю тест в своем реальном коде:
strtotime($timestamp) < strtotime("-2 days")
.
Но я надеялся, что sqlite3 включает некоторые встроенные проверки для такого рода ситуаций.
Спасибо, я ценю любые ответы.
EDIT: разобрался: SELECT * FROM test WHERE timestamp < date('now', '-2 days')
Я оставлю это открытым, если кто-то может придумать что-то лучше.