Page 1 sur 1

AIDE SQL

Posté : 26 oct. 2012, 03:29
par citi
bonjour , je suis debutant dans sql et en francaise, j'ai besoin aide pour une requete..
j'ai une table T1 avec 3 col ( idnom, nom, anneebrith)
1. jp 1945
2. sr 1985
ect
je dois chercher les nom qui ont plus de 25ans ..
je faise

select * from T1 where anneebrith >25

mais ca marche pas..
merci pour aide

Re: AIDE SQL

Posté : 26 oct. 2012, 08:15
par moogli
Salut,

Suivant le type de champ il faut faire un calcul.

Cherche un cours sur les calculs de date en SQL ;)

@+

Re: AIDE SQL

Posté : 26 oct. 2012, 14:08
par citi
salut,
j'essayer mais je ne rien trouvez pour calculer les annee, :(

Re: AIDE SQL

Posté : 26 oct. 2012, 20:34
par moogli
As tu essayé avec les fonction extract et now ?

Le truc c'est de faire la différence entre l'année de la date du jour et celle de ton champs, les fonctions year et now te le permettent


tous est la http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html

par exemple : select extract(year from ladate), extract( year from now())- lechiffre from test;


@+

Re: AIDE SQL

Posté : 04 nov. 2012, 11:46
par albat
Le plus rapide est de calculer l'année en dessous de laquelle les personnes ont plus de 25 ans.
Nous sommes en 2012, donc ceux qui sont nés avant 2012 - 25 = 1987 ont plus de 25 ans.

Il suffit alors de lancer la requête :
SELECT nom
FROM T1
WHERE anneebirth <=1987
Mais sans oublier que dans 2 mois, il faudra recalculer : 2013 - 25 = 1988

D'où l'intérêt de rendre ce calcul automatique... ;)