IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Fourchette d'âge à partir d'un champs date


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut Fourchette d'âge à partir d'un champs date
    Bonsoir tout le monde,

    J'ai une table 'personnes' qui contient, entre autres, les champs 'nom', 'adresse', 'datenaissance' de type date.


    j'aimerais, à partir d'une requête avoir le nom, l'adresse et l'âge exacte des personnes dont l'age est compris dans une fourchette d'âges (entre 30 et 45 ans par exemple).
    L'âge se calcule biensûr en faisant la différence entre la date actuelle et le contenu du champs datenaissance.
    Le champs age n'existe pas évidemment.


    je dois probablement utiliser datediff avec now() et between, etc....mais je suis complètement perdu.Je ne sais vraiment pas comment faire depuis 2 jours.

    J'ai commencé un truc de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT nom,adresse,(DATEDIFF(now(),datenaissance)/365) as age from personnes
     
    where age between 30 and 45
    Mais c'est n****** !

    ou ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom,adresse, YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(datenaissance) DAY)) Age from personnes
    Help please !

    Merci.

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Je ne connais pas bien BETWEEN mais j'aurais essayé quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    YEAR(NOW()) - YEAR(champ_date) >= 30 AND YEAR(NOW()) - YEAR(champ_date) < 45
    Je pense que ca doit marcher mais aussi que ca doit être perfectible

  3. #3
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Merci pour ta réponse rapide !
    En effet, ça donne des réponses exactes. Perfectible ou pas, pour moi, c'est bon !
    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2014, 12h03
  2. Récupérer un âge calculé à partir d'un champ date.
    Par Christ79 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 18/10/2013, 14h29
  3. Mois à partir d'un champ Date
    Par helio500 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/02/2011, 11h35
  4. comment afficher les données par mois à partir d'un champs date ?
    Par M.a.n.u. dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/05/2008, 09h36
  5. Réponses: 2
    Dernier message: 13/04/2007, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo