Каждая запись в моей базе данных SQLite содержит поле, содержащее Date, хранящееся как string в формате 'yyyy-MM-dd HH:mm:ss'.
Можно ли запросить базу данных, чтобы получить запись, содержащую самую последнюю дату, пожалуйста?
Ответ 1
вы можете сделать это, как это
SELECT * FROM Table ORDER BY date(dateColumn) DESC Limit 1
Ответ 2
Для меня у меня был мой запрос таким образом, чтобы решить мою проблему.
select * from Table order by datetime(datetimeColumn) DESC LIMIT 1
Поскольку я сохранял его как столбец даты и времени не даты
Ответ 3
Вам нужно преобразовать его в отметку времени unix, а затем сравнить их:
SELECT * FROM data ORDER BY strftime('%s', date_column) DESC
Но это может быть довольно медленно, если есть много строк.
Лучшим подходом было бы сохранить временную метку Unix по умолчанию и создать индекс для этого столбца.
Ответ 4
Вы можете преобразовать свой столбец "sent_date_time" в формат yyyy-MM-dd, а затем упорядочить по дате
1 ) substr(sent_date_time,7,4)||"-"||substr(sent_date_time,1,2)||"-"||substr(sent_date_time,4,2) as date
2) order by date desc
Ответ 5
Когда вы уверены, что формат текстового поля yyyy-MM-dd HH:mm:ss (например: 2017-01-02 16:02:55), So It работает для меня просто:
SELECT * FROM Table ORDER BY dateColumn DESC Limit 1