1. ホーム
  2. sql

[解決済み] SQLiteの日付時刻の比較

2022-06-29 08:15:43

質問

SQLiteデータベースに対するクエリで、比較対象としてdatetime文字列を使用しているため、信頼できる結果を得ることができないようです。

select * 
  from table_1 
 where mydate >= '1/1/2009' and mydate <= '5/5/2009'

SQLiteへの日時の比較はどのように扱えばよいのでしょうか?

の更新を行います。 フィールドmydateはDateTimeデータ型です。

どのように解決するのですか?

SQLiteは専用のdatetimeを持っていません。 タイプ がありますが いくつかの datetime 関数 . これらの関数が理解する文字列表現形式(実際には1~10の形式のみ)に従えば(値を文字列として保存します)、それらを使用することができます。また、文字列の辞書的比較は、datetimeの比較と一致します(日付と時間、datetimeと時間を比較しようとしない限り、いずれにしてもあまり意味をなしません)。

どの言語を使うかによりますが、さらに 自動変換 . (これは例のようなSQL文の比較には適用されませんが、あなたの生活をより楽にしてくれるでしょう)。