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

Langage SQL Discussion :

Probleme avec le format DATE sur ORACLE


Sujet :

Langage SQL

  1. #1
    B&B
    B&B est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Probleme avec le format DATE sur ORACLE
    Hello,

    Je suis ORACLE 10g Entreprise Edition et j'ai une table avec une colonne DATE avec comme format à l'affichage DD/MM/YY.

    Mon probleme est que j'arrive pas à selectionner les lignes d'une date que j'ai fourni dans le WHERE.

    Par exemple que je fasse ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * From TOTO Where date_stamp = '05/01/08'
    ou bien ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * From TOTO Where date_stamp = TO_DATE ('05/01/08', 'DD/MM/YY')
    ou meme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select TO_CHAR(date_stamp,'DD/MM/YY') From TOTO Where date_stamp = TO_DATE('05/01/08','DD/MM/YY')
    je n'obtiens aucune ligne alors que cette date existe...


    Il n'y a qu'avec un LIKE que je peux recuperer les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * From TOTO Where date_stamp LIKE '05/01/08%'
    Ca voudrait dire qu'il y a qqch apres la date, mais pourtant la fonction TO_DATE devrait justement eviter ce probleme en lisant la date et en la formatant avec le format voulu... je vois pas d'ou ca peut venir...

    Quelqu'un aurait la solution , pls ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Il vaut mieux formater ta colonne date_stamp au format de la valeur à laquelle tu veux la comparer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM TOTO WHERE TO_CHAR(date_stamp, 'DD/MM/YY') = '05/01/08'
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  3. #3
    B&B
    B&B est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par dgi77 Voir le message
    Il vaut mieux formater ta colonne date_stamp au format de la valeur à laquelle tu veux la comparer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM TOTO WHERE TO_CHAR(date_stamp, 'DD/MM/YY') = '05/01/08'
    yeaaah ca marche, thx !

  4. #4
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Sur Oracle, quand tu veux comparer des colonnes de type date avec des chaînes de caractères, il faut toujours utiliser la fonction TO_CHAR pour mettre la date au format que tu souhaites, sinon en fonction des paramètres régionaux du client ou du serveur, les formats des dates peuvent changer (ex : MMDDYYYY au lieu de DDMMYYYY) et du coup ta comparaison peut être faussée, c'est sans doute pour ça qu'il ne te retournait aucune ligne
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

Discussions similaires

  1. [AC-2010] probleme avec une valeur null sur une date
    Par kynder surprise dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/05/2012, 17h28
  2. Probleme avec les formats de date
    Par judavid dans le forum SQL
    Réponses: 4
    Dernier message: 13/03/2009, 16h58
  3. format date sur oracle?
    Par erox44 dans le forum Débuter
    Réponses: 7
    Dernier message: 07/04/2008, 10h40
  4. probleme avec la format date dans ireport
    Par 7rouz dans le forum iReport
    Réponses: 3
    Dernier message: 09/07/2007, 08h54
  5. probleme avec le format de la date
    Par stan30160 dans le forum Access
    Réponses: 15
    Dernier message: 19/06/2006, 11h49

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