Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

sqlite select with condition on date

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' 
like image 539
Thunder Avatar asked Feb 22 '10 06:02

Thunder


2 Answers

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) < date('now','-30 years'); 

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 < date('now','-30 years'); 
like image 147
Thunder Avatar answered Sep 21 '22 17:09

Thunder


Using the magic docs at the sqlite website:

select * from mytable where dob < date('now','-30 years'); 
like image 20
My Other Me Avatar answered Sep 19 '22 17:09

My Other Me