可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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'
回答1:
Some thing like this could be used:
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)
If you are using Sqlite V3.7.12 or greater
Dont use date(dateofbirth)
just use dateofbirth
. So your query would look like this:
select * from customer where dateofbirth
回答2:
Using the magic docs at the sqlite website:
select * from mytable where dob
回答3:
Try writing using the date format 'YYYY-MM-DD'
select * from mytable where dob > '1980-01-01'
A more programic way would be something like this:
select * from mytable where datediff(dob, now()) > 30
You'll Need to find specific syntax for sqlite.