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 :

Champ date


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut Champ date
    je suis débutante dans oracle priere de m'aider svp
    j'ai une requete du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select *
     from actualite
     where date_act  between '10/10/2004' and '10/12/2004'
    quand je l'xecute au niveau de oracle elle passe sans probleme mais quand je la mat dans une servlet ca me genere l'erreur suivante:

    java.sql.SQLException: ORA-01830: données surnuméraires après la conversion correcte d'une chaîne en entrée

    le champ date_act est de type date

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Salut,
    Il est probable que le Servlet en question soit prévu pour recevoir un autre format de date...

    Quoi qu'il en soit s'il est un bonne habitude à prendre, c'est de toujours utiliser une format de date natif, c'est à dire (pour Oracle) en le spécifiant avec la fonction to_date, jamais de conversion implicite.

    du coup, ton code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
     from actualite 
     where date_act  between to_date('10/10/2004','dd/mm/yyyy') and to_date('10/12/2004','dd/mm/yyyy')

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    est ce que TO_CHAR(date_ac,'DD/MM/YYYY') fait aussi l'affaire ou il vaut mieux garder le type date?

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 286
    Points : 279
    Points
    279
    Par défaut
    Citation Envoyé par L_latifa
    est ce que TO_CHAR(date_ac,'DD/MM/YYYY') fait aussi l'affaire ou il vaut mieux garder le type date?
    Non c'est pire ;-)

    Oracle va comparer 3 chaines de caractères ( le to_char et les deux elements du between), et le résultat est rarement celui escompté ..

    Pour Oracle, comparer '10/10/2004' a '11/10/2004' c'est comme comparer 'A768HUJUY' à 'OLKBGFGTFCCV' ..

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    merci pour vos reponses

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

Discussions similaires

  1. formater un champ date dans un select
    Par sbeu dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/04/2006, 17h44
  2. Champ Date à '01/01/0001' -> Pb conversion de variant !!!
    Par AnnSo dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/06/2004, 17h54
  3. récuperer année d'un champ date
    Par tomm dans le forum Bases de données
    Réponses: 11
    Dernier message: 12/05/2004, 17h24
  4. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 17h56
  5. procedure stockée champ date
    Par tripper.dim dans le forum SQL
    Réponses: 5
    Dernier message: 25/04/2003, 10h47

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