SQLite Order By Date1530019888000
Every record in my SQLite
database contains a field which contains a Date
stored as a string
in the format 'yyyy-MM-dd HH:mm:ss'
.
Is it possible to query the database to get the record which contains the most recent date please?
Solution 1:
you can do it like this
SELECT * FROM Table ORDER BY date(dateColumn) DESC Limit 1
Solution 2:
For me I had my query this way to solve my problem
select * from Table order by datetime(datetimeColumn) DESC LIMIT 1
Since I was storing it as datetime not date column
Solution 3:
When you sure the format of text field is yyyy-MM-dd HH:mm:ss
(ex.: 2017-01-02 16:02:55
), So It works for me simply:
SELECT * FROM Table ORDER BY dateColumn DESC Limit 1
Without any extra date function!
Solution 4:
You need to convert it to unix timestamp, and then compare them:
SELECT * FROM data ORDER BY strftime('%s', date_column) DESC
But this can be pretty slow, if there are lots of rows. Better approach would be to store unix timestamp by default, and create an index for that column.