私のデータベースのすべてのレコードには、フォーマットとして保存されたSQLite
を含むフィールドが含まれています。Date
string
'yyyy-MM-dd HH:mm:ss'
データベースにクエリを実行して、最新の日付を含むレコードを取得することはできますか?
私のデータベースのすべてのレコードには、フォーマットとして保存されたSQLite
を含むフィールドが含まれています。Date
string
'yyyy-MM-dd HH:mm:ss'
データベースにクエリを実行して、最新の日付を含むレコードを取得することはできますか?
あなたはこのようにすることができます
SELECT * FROM Table ORDER BY date(dateColumn) DESC Limit 1
テキストフィールドのフォーマットがyyyy-MM-dd HH:mm:ss
(例:)であることを確認したら2017-01-02 16:02:55
、私にとっては簡単に機能します:
SELECT * FROM Table ORDER BY dateColumn DESC Limit 1
余分な日付機能なし!
それを unix タイムスタンプに変換してから比較する必要があります。
SELECT * FROM data ORDER BY strftime('%s', date_column) DESC
ただし、行数が多い場合、これはかなり遅くなる可能性があります。より良いアプローチは、デフォルトで UNIX タイムスタンプを保存し、その列のインデックスを作成することです。
この醜いハックが機能することがわかりました。
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
テキスト列を日付フィールド型に変換する方が良いでしょうが、それは私にとっては確実に機能しないことがわかりました.