sqlite selezionare con condizioni in data

Ho una tabella sqlite con data di nascita. Vorrei eseguire una query per selezionare quei record in cui l’età è superiore a 30. Ho provato quanto segue ma non funziona:

select * from mytable where dob > '1/Jan/1980' select * from mytable where dob > '1980-01-01' 

Qualcosa di simile potrebbe essere usato:

 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'); 

Se si utilizza Sqlite V3.7.12 o versioni successive

Non usare la date(dateofbirth) basta usare dateofbirth . Quindi la tua domanda sarebbe simile a questa:

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

Usando i documenti magici sul sito web sqlite :

 select * from mytable where dob < date('now','-30 years'); 

Prova a scrivere usando il formato data “AAAA-MM-GG”

 select * from mytable where dob > '1980-01-01' 

Un modo più programmato sarebbe qualcosa del genere:

 select * from mytable where datediff(dob, now()) > 30 

Dovrai trovare una syntax specifica per sqlite.