生年月日を含むsqliteテーブルがあります。クエリを実行して、年齢が30歳以上のレコードを選択したいと思います。次を試してみましたが、うまくいきません。
select * from mytable where dob > '1/Jan/1980'
select * from mytable where dob > '1980-01-01'
次のようなものを使用できます。
_select dateofbirth from customer Where DateofBirth BETWEEN date('1004-01-01') AND date('1980-12-31');
select dateofbirth from customer where date(dateofbirth)>date('1980-12-01');
select * from customer where date(dateofbirth) < date('now','-30 years');
_
Sqlite V3.7.12以降を使用している場合
date(dateofbirth)
を使用しないでくださいdateofbirth
を使用してください。したがって、クエリは次のようになります。
_select * from customer where dateofbirth < date('now','-30 years');
_
sqlite Webサイト でマジックドキュメントを使用する:
select * from mytable where dob < date('now','-30 years');
日付形式「YYYY-MM-DD」を使用して記述してみてください
select * from mytable where dob > '1980-01-01'
よりプログラム的な方法は、次のようなものです。
select * from mytable where datediff(dob, now()) > 30
Sqliteの特定の構文を見つける必要があります。