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

Oracle Discussion :

différence entre date ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 118
    Par défaut différence entre date ?
    bonjour,
    est ce que je peut faire la différence entre les années de deux dates pour obtenir l'age ?
    merci

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    oui, il suffit de faire une recherche sur le forum pour plus d'info

    ou la FAQ : http://oracle.developpez.com/faq/?page=3-2#datediff

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par jessy212
    bonjour,
    est ce que je peut faire la différence entre les années de deux dates pour obtenir l'age ?
    merci
    moi j'aime bien employer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    trunc((to_char(d,'SYYYYMMDD') - to_char(date_de_naissance,'SYYYYMMDD'))/10000)
    car ça marche même pour ceux qui sont nés le dernier jour du mois de février

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    c'est bon ça

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    Citation Envoyé par Fred_D
    c'est bon ça
    En effet !

    J'ajouterais aussi des TO_NUMBER pour éviter toute conversion de type implicite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TRUNC((TO_NUMBER(TO_CHAR(d,'SYYYYMMDD')) - TO_NUMBER(TO_CHAR(date_de_naissance,'SYYYYMMDD'))) / 10000)
    Qu'en pensez-vous ?

    rbaraer

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 19
    Par défaut
    Bonjour,
    Pourquoi diviser par 10000 ?

  7. #7
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par solange44
    Bonjour,
    Pourquoi diviser par 10000 ?
    ex
    20060929 - 19710322 = 350607

    350607 / 10000 = 35

    j'ai donc 35 ans.

    j'aurais aussi pu faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select trunc(to_number(to_char(sysdate,'SYYYY.MMDD'),'9999.9999')
     - to_number(to_char(date '1971-03-22','SYYYY.MMDD'),'9999.9999')) AGE 
    from dual;
     
           AGE
    ----------
            35
    ce qui est éventuellement plus lisible

Discussions similaires

  1. Différence entre dates au format "Year Month Day"
    Par TheCaribouX dans le forum C#
    Réponses: 11
    Dernier message: 04/02/2009, 20h35
  2. [BO XIr2] Tests sur des différences entre dates
    Par Enthau dans le forum Deski
    Réponses: 4
    Dernier message: 27/07/2007, 10h49
  3. différence entre date sytème et date du bios
    Par zoheir13 dans le forum Delphi
    Réponses: 1
    Dernier message: 05/05/2007, 19h28
  4. Différence entre Date et Date()
    Par Gabout dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/04/2007, 16h32
  5. calcul différence entre dates
    Par igour dans le forum Access
    Réponses: 2
    Dernier message: 18/01/2007, 11h30

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