Подтвердить что ты не робот

Заказ SQLite по дате

Каждая запись в моей базе данных SQLite содержит поле, содержащее Date, хранящееся как string в формате 'yyyy-MM-dd HH:mm:ss'.

Можно ли запросить базу данных, чтобы получить запись, содержащую самую последнюю дату, пожалуйста?

4b9b3361

Ответ 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

Без дополнительной функции даты!