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 :

Ajouter un jour à une date


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Points : 50
    Points
    50
    Par défaut Ajouter un jour à une date
    Est ce que vous connaissez une fonction simple qui permet d'ajouter un jour à une date ?

    Merci.

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Oui faire + 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> select sysdate from dual;
    SYSDATE
    ---------
    05-JUL-06
     
    SQL> select sysdate + 1 from dual;
    SYSDATE+1
    ---------
    06-JUL-06

  3. #3
    Membre du Club
    Profil pro
    Chef de projet Informatique
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Chef de projet Informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Points : 50
    Points
    50
    Par défaut
    ça marche aussi avec les changements de mois ?

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Pour ajouter un mois il y a la fonction add_months

  5. #5
    Membre averti Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Points : 433
    Points
    433
    Par défaut
    Citation Envoyé par loudo
    ça marche aussi avec les changements de mois ?
    C'est à dire ?

    Pour ajouter 1 mois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SQL> select sysdate from dual;
     
    SYSDATE
    ---------
    05-JUL-06
     
    SQL> select add_months(sysdate,1) from dual;
     
    ADD_MONTH
    ---------
    05-AUG-06
     
    SQL>

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Et pendant qu'on y est je pense que ça pourra t'aider:

    trunc(sysdate) ==>05/07/2006
    trunc(sysdate, 'yyyy') ==> 01/01/2006
    trunc(sysdate,'mm') ==>01/07/2006

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par Titibirdy
    Et pendant qu'on y est je pense que ça pourra t'aider:

    trunc(sysdate) ==>05/07/2006
    trunc(sysdate, 'yyyy') ==> 01/01/2006
    trunc(sysdate,'mm') ==>01/07/2006

    tu as trop fait la fête aprés la victoire de l'Italie toi

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    La fonction truncate permet d'avoir le premier élément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SQL> alter session  set  NLS_DATE_FORMAt = 'DD/MM/YYYY HH24:mi:ss' ;
     
    Session modifiée.
     
    SQL> --- Premiére heure de la journée 
    SQL> select trunc ( sysdate ) from dual ; 
     
    TRUNC(SYSDATE)
    -------------------
    05/07/2006 00:00:00
     
    SQL> -- Premier jour du mois 
    SQL> select trunc(sysdate,'MON') from dual ; 
     
    TRUNC(SYSDATE,'MON'
    -------------------
    01/07/2006 00:00:00
     
    SQL> -- premier jour de l'année 
    SQL> select trunc(sysdate, 'yyyy')  from dual ;
     
    TRUNC(SYSDATE,'YYYY
    -------------------
    01/01/2006 00:00:00

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Moi, lorsque je lance la requête sur TOAD ou PL/SLQ developper ça donne ça (et donc pas d'histoire d'heure dans l'affichage)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SQL> select trunc(sysdate) from dual;
     
    TRUNC(SYSDATE)
    --------------
    06/07/2006
     
    SQL> select trunc(sysdate, 'yyyy') from dual;
     
    TRUNC(SYSDATE,'YYYY')
    ---------------------
    01/01/2006
     
    SQL> select trunc(sysdate,'mm') from dual;
     
    TRUNC(SYSDATE,'MM')
    -------------------
    01/07/2006

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Toad n'est pas le meilleur outil dans ce cas car il ajoute une couche de formattage
    Essaye avec Sql*Plus tu verras

  12. #12
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Ca marche aussi avec MM :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> alter session  set  NLS_DATE_FORMAt = 'DD/MM/YYYY HH24:mi:ss' ;
     
    Session altered.
     
    SQL> select trunc(sysdate), trunc(sysdate,'yyyy'), trunc(sysdate,'mm') from dual;
     
    TRUNC(SYSDATE)      TRUNC(SYSDATE,'YYYY TRUNC(SYSDATE,'MM')
    ------------------- ------------------- -------------------
    06/07/2006 00:00:00 01/01/2006 00:00:00 01/07/2006 00:00:00
    Je vois pas où est le problème !!

  13. #13
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par Jaouad
    Toad n'est pas le meilleur outil dans ce cas car il ajoute une couche de formattage
    Essaye avec Sql*Plus tu verras
    Le "alter session" fonctionne aussi avec TOAD, je pense simplement que Titibirdy a oublié de le faire...
    De toutes façons, si on ne veux pas être tributaire des paramètres NLS (pouvant être modifiés à 36 endroits différents), il faut bannir les selections de date en direct et passer systématiquement par des to_char.

    Remarque: Attention SQLPLUS peut aussi avoir sa propre couche de formatage, dans le fichier sournois $ORACLE_HOME/sqlplus/glogin.sql

  14. #14
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut oups...
    oups! boulette

    le fichier glogin.sql se trouve exactement sous $ORACLE_HOME/sqlplus/admin/

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

Discussions similaires

  1. [Dates] Fonction date: ajouter 3 jours à une date
    Par bobic dans le forum Langage
    Réponses: 8
    Dernier message: 12/03/2007, 11h05
  2. ajouter des jours à une date
    Par babalastar dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 27/02/2007, 11h39
  3. [HQL] Ajouter des jours à une date
    Par loulou dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/01/2007, 11h22
  4. [MySQL] ajout de jour à une date
    Par mohican13 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/03/2006, 17h39

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