sqlite sélectionner avec condition à la date

J’ai une table sqlite avec date de naissance. Je voudrais exécuter une requête pour sélectionner les enregistrements dont l’âge est supérieur à 30 ans. J’ai essayé ce qui suit mais cela ne fonctionne pas:

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

Une chose comme celle-ci pourrait être utilisée:

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

Si vous utilisez Sqlite V3.7.12 ou supérieur

Ne pas utiliser la date(dateofbirth) juste utiliser la date de dateofbirth . Donc, votre requête ressemblerait à ceci:

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

Utiliser les documents magiques sur le site Web de sqlite :

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

Essayez d’écrire en utilisant le format de date ‘AAAA-MM-JJ’

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

Une manière plus programmée serait quelque chose comme ceci:

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

Vous devrez trouver une syntaxe spécifique pour sqlite.