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

SQL Oracle Discussion :

Nombre de jours entre 2 dates


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut Nombre de jours entre 2 dates
    Bonjour,

    Base 9i.

    Je souhaiterai avoir le nombre de jour entre 2 dates.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select date1 - date2 from dual
    me renvoie un interval avec une syntaxe particulière
    +28 16:18:48.000000
    Comme laurent schneider le dit très bien le to_char(interval) ne fonctionne pas !!

    Comment doit-on faire pour récupérer uniquement le nombre de jours ? Extract() ? Trunc() ?

    Merci à vous.
    Boutss

  2. #2
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trunc(Date1) - trunc(Date2)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extract(DAY from Date1) - extract(DAY from Date2)
    où Date1 est la plus élevée

  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 Yorglaa Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extract(DAY from Date1) - extract(DAY from Date2)
    ça ça se limite au dates du même mois, non?

  4. #4
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Moi, je ferais plus simple en passant par le jour julien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select abs(to_number(to_char(date1,'J'))-to_number(to_char(date2,'J')))
    from ...;

  5. #5
    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 philcero Voir le message
    Moi, je ferais plus simple en passant par le jour julien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select abs(to_number(to_char(date1,'J'))-to_number(to_char(date2,'J')))
    from ...;
    je vois pas en quoi c'est plus simple que la solution de Yorglaa avec TRUNC?

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut Merci à tous
    Merci à tous pour vos réponses toutes plus instructives les unes que les autres !

    à part la 2ème proposition de Yorglaa...

    Et un grand respect à la maitrise incontestée et incontestable de Laurent Schneider !

    ... [Je me parle] ...
    Alors tu vois, "trunc" fonctionne, "extract" fonctionne, et même "to_char ?!
    Je le fais exprès de ne pas trouver ?? Pour ma paroisse, c'était vendredi soir.

  7. #7
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    ça ça se limite au dates du même mois, non?
    oui c'est juste, merci de me rectifier, j'ai été un peu vite !

  8. #8
    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 boutss Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select date1 - date2 from dual
    me renvoie un interval avec une syntaxe particulière
    c'est parceque date1 ou/et date2 sont des timestamps

    extract me parait parfait !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    extract(day from (date1-date2))+
    extract(hour from (date1-date2))/24+
    extract(minute from (date1-date2))/1440+
    extract(second from (date1-date2))/86400
    PS: pour le nombre de jour uniquement extract(day FROM (date1-date2))

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

Discussions similaires

  1. [MS-DOS] Compter les nombres de jours entre deux dates diffé
    Par Furius dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 19/02/2006, 13h33
  2. nombre de jours entre deux date
    Par mzt.insat dans le forum Langage
    Réponses: 13
    Dernier message: 01/02/2006, 10h34
  3. Nombre de jours entre 2 dates
    Par Delphi-ne dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/10/2005, 23h12
  4. [Dates] Nombre de jours entre deux dates
    Par cmoiscrat dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 15h25
  5. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22

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