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 :

[8i, 9i] Utilisation incorecte de sysdate?


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut [8i, 9i] Utilisation incorecte de sysdate?
    Jour!

    Voila, j'ai remarqué que quand j'utilisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TO_DATE(SYSDATE, 'DD.MM.YYYY')
    FROM   dual
    j'obtenais des dates 10 siècles trop vieilles (07.11.0005)

    Par contre en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT TO_CHAR(SYSDATE, 'DD.MM.YYYY)
    FROM   dual;
     
    SELECT TO_CHAR(TO_DATE(SYSDATE, 'DD.MM.YYYY))
    FROM   dual;
    voire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TO_DATE(SYSDATE, 'DD.MM.RRRR')
    FROM   dual
    La date est juste... Est-ce un bug ou une mauvaise utilisation? Je n'ai pas compris.

    Il y avait quelques bouts d'explications et

  2. #2
    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
    RRRR -> gestion de l'an 2000 donc RRRR est mieux que YYYY (trop souvent utilisé encore )

    Enfin, TO_CHAR est plus adapté puisque convertir une date en date (TO_DATE(sysdate...) n'a aucun sens

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut
    Ok donc d'après toi, mieux vaut employer le RRRR à la place du YYYY, qui n'est pas bien adapté aux dates sur 4 chiffres?

    Par contre pour ce qui est de mettre TO_DATE, c'est dans un but de spécification et non pas de conversion puisqu'on ne peut pas faire simplement (SYSDATE, DD.MM.YYYY)... Et pour moi le plus logique quand je traite une date, c'est de la garder au format date et non pas de la convertir en chaine de caractères...

  4. #4
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    Si c'est juste pour l'affichage de la date, il faut regarder la variable d'environnement NLS_DATE_FORMAT (qui peut aussi se fixer dans les paramètres d'initialisation de la base)

    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
    SQL> select sysdate from dual;
     
    SYSDATE
    --------
    07/11/05
     
    SQL> alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS';
     
    Session modifiÚe.
     
    SQL> select sysdate from dual;
     
    SYSDATE
    ----------------------
    07-NOV. -2005 14:56:59

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 59
    Points : 46
    Points
    46
    Par défaut
    Sorry ^^ Oublié le résolu...

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

Discussions similaires

  1. utiliser sysdate dans une requete criteria
    Par mirak63 dans le forum Hibernate
    Réponses: 0
    Dernier message: 19/04/2011, 12h25
  2. Utiliser fonction sysdate dans une invite
    Par ccaye dans le forum Webi
    Réponses: 2
    Dernier message: 03/02/2009, 23h49
  3. Réponses: 5
    Dernier message: 02/10/2007, 15h43
  4. [Commons-DBUtils] Impossible d'utiliser Sysdate
    Par moritan dans le forum JDBC
    Réponses: 3
    Dernier message: 25/08/2006, 13h47
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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