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