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

Langage SQL Discussion :

Requete a partir d'une date de naissance pour obtenir un age


Sujet :

Langage SQL

  1. #1
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut Requete a partir d'une date de naissance pour obtenir un age
    Bonjour,

    Toujours dans mes problèmes de dates, j'aimerai affiché l'age des clients à l'aide d'un requete sql sachant que j'ai dans ma base leur date de naissance..
    merci...
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Ben tu fais une soustraction de l'année en cours, avec celle de naissance, en mettant -1 si le jour et le mois de naissance est strictement supérieur au jour et au mois en court.
    K

  3. #3
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    En fait j'ai la logique mais pas la syntaxe....c'est la syntaxe en sql dont j'ai besoin pour faire tout ca en fait..
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    La syntaxe est dépendante du SGBD. Quel SGBD utilises-tu ?

    PS : ce genre de calcul me parrait plus sensé du coté applicatif; il ne faut pas que le SGBD devienne centre de calcul : lui il ne fait que récupérer des données en fonction d'un critère, ensuite, c'est ton application qui gère la logique...
    K

  5. #5
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    oracle 8 ( cette requete est pour utiliser dans un report)
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  6. #6
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT datepart(year,getdate())-datepart(year,ta_date)
    FROM tatable

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Si tu as Oracle, le plus propre est de faire une procédure stockée pour le calcul de l'age.

    Tu peux extraire les valeurs necessaires au calcul avec des to_number, to_char et to_date.

    Faire tout ça directement dans une requête me parrait trop lourd..

    A+
    K

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Citation Envoyé par zoaax
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT datepart(year,getdate())-datepart(year,ta_date)
    FROM tatable
    Ca ne marche pas, si la date en court (mois/jour) est inférieure à l'anniversaire (mois/jour). Ca donnera un age supérieur dans ce cas là.
    K

  9. #9
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Je suis bien d'accord pour la procédure mais le problème c'est que je dois utiliser cette requête sous report et dans mon cas directement de la base. Donc je ne peux pas faire de prodédure stockée, je suis obligée de faire cela sous forme de requête
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  10. #10
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    tu peux utiliser une procédure stockée dans une requête, comme n'importe quelle fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT calculerAge(datenaissance) as 'Age' FROM table
    K

  11. #11
    Membre actif Avatar de f_bobo
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Points : 281
    Points
    281
    Par défaut
    Salut,

    Euh, juste une petite question en passant, cette notion d'âge est-elle juste comme ça ou cela a une connotation "officielle".
    Je dis ça car pour l'INSEE, c'est purement une différence d'année donc dès le 1er janvier on prend un an de plus même si on est de fin d'année...
    Cordialement,

    Florent

    Je penche donc je suis...

  12. #12
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Nan, je dois exploiter les données clients ( de prêt-à-porter) pour réaliser un CRM...et la mon problème est que je dois effectuer un report en sortant le chiffre d'affaire des clients par tranche d'âge. Cette tranche d'âge est variable selon le choix de l'utilisateur, il saisie un âge et moi dans ma base je n'ai que des dates de naissances...et l'on ma dit de transformer ses dates de naissance en age pour pouvoir ensuite les comparer aux ages saisis..
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

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

Discussions similaires

  1. Age à partir d'une date de naissance
    Par NABIL74 dans le forum Bases de données
    Réponses: 6
    Dernier message: 29/01/2009, 12h43
  2. [vbexcel]trouver le jour a partir d'une date.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/12/2005, 16h07
  3. [D7] trouver une semaine partir d'une date
    Par raoulmania dans le forum Langage
    Réponses: 3
    Dernier message: 01/12/2005, 10h36
  4. Réponses: 6
    Dernier message: 26/07/2005, 10h20
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

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