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 et SQL. Discussion :

[SQL] difference en annee entre deux dates


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut [SQL] difference en annee entre deux dates
    Bonjour,
    Je souhaite calculer la difference en année entre deux dates.
    Pour connaitre l'age d'une personne à une date fixee, je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff("yyyy",annee_naissance,date_fixee)
    Le probleme est que l'option "yyyy" calcule la difference juste sur le chiffre des années des deux dates.
    Exemple, si date_naissance="01/12/1989" et date_fixee="01/01/1990"
    Je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff ("yyyy",#01/05/1990# ,#01/01/1992#)
    qui me sort 2.
    hors la personne n'a pas encore 2 ans, elle est a 1 an a cette date fixee.

    Si je calcule la difference de jours et diviser par 365, j'ai des problemes aussi a cause des années bisextiles.
    Auriez vous une solution a proposer ?

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Si tu peux te le permettre, travaille en mois et divise par 12 sinon tu peux aussi diviser par 365.25 pour gérer les années bisextile mais ce n'est pas parfait non plus.

    Enfin tu peux bien sur réécrire datediff

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT madate, Year(Date())-Year([madate])
    +(DateSerial(Year(Date()),Month([madate]),Day([madate]))>=Date()) AS AGE
    FROM matable;

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par défaut
    tu peux aussi diviser par 365.25 pour gérer les années bisextile mais ce n'est pas parfait non plus.
    Cette solution m'intéresserait, pourquoi elle n'est pas parfaite ?

    Merci de vos réponses.

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Parce que, par exemple, si tu as juste 365 jour entre tes deux dates et que ce n'est pas une année bisextile tu vas calculer un âge de 0 an.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Réponses: 17
    Dernier message: 15/05/2012, 16h22
  2. calculer le nombre de jour,moi,annee entre deux dates
    Par kroma23 dans le forum Débuter
    Réponses: 2
    Dernier message: 13/12/2011, 11h49
  3. [XL-2007] calcul jour,moi,annee entre deux date
    Par kroma23 dans le forum Excel
    Réponses: 2
    Dernier message: 25/11/2011, 19h08
  4. [SQL] Nombre de jours entre deux dates
    Par azeggouar dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/08/2009, 16h07
  5. difference entre deux date en sql
    Par thered dans le forum Langage SQL
    Réponses: 9
    Dernier message: 13/06/2009, 23h44

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