77

私のデータベースのすべてのレコードには、フォーマットとして保存されたSQLiteを含むフィールドが含まれています。Datestring'yyyy-MM-dd HH:mm:ss'

データベースにクエリを実行して、最新の日付を含むレコードを取得することはできますか?

4

10 に答える 10

160

あなたはこのようにすることができます

SELECT * FROM Table ORDER BY date(dateColumn) DESC Limit 1
于 2012-12-30T14:01:08.237 に答える
10

テキストフィールドのフォーマットがyyyy-MM-dd HH:mm:ss(例:)であることを確認したら2017-01-02 16:02:55、私にとっては簡単に機能します:

SELECT * FROM Table ORDER BY dateColumn DESC Limit 1

余分な日付機能なし!

于 2017-11-02T02:35:18.570 に答える
5

それを unix タイムスタンプに変換してから比較する必要があります。

SELECT * FROM data ORDER BY strftime('%s', date_column) DESC

ただし、行数が多い場合、これはかなり遅くなる可能性があります。より良いアプローチは、デフォルトで UNIX タイムスタンプを保存し、その列のインデックスを作成することです。

于 2012-12-30T13:50:08.663 に答える
0

この醜いハックが機能することがわかりました。

select *, substr(date_col_name,7,4) as yy, substr(date_col_name,4,2) as mm, substr(date_col_name,1,2) as dd my_table 順 yy desc,mm desc,dd desc

テキスト列を日付フィールド型に変換する方が良いでしょうが、それは私にとっては確実に機能しないことがわかりました.

于 2021-10-11T01:06:03.910 に答える