sqlite 选择日期条件

2021-12-08 00:00:00 sql date database sqlite

我有一个带有出生日期的 sqlite 表.我想执行一个查询来选择那些年龄超过 30 的记录.我已经尝试了以下但它不起作用:

I have an sqlite table with Date of Birth. I would like to execute a query to select those records where the age is more than 30. I have tried the following but it doesn't work:

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.所以你的查询看起来像这样:

Dont use date(dateofbirth) just use dateofbirth. So your query would look like this:

select * from customer where dateofbirth < date('now','-30 years');

相关文章