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 :

to_date() marche pas pour moi


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut to_date() marche pas pour moi
    En fait je souhaite dans une extraction avec spool , faire une extraction entre des dates et les valeurs qui seront saisi je veux les mettre au format 'DD/MM/RRRR' , mais le problème si je mets ceci ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date(11012008 , 'DD/MM/RRRR')
    par exemple, mais si je veux une extraction entre deux date et que la date commence par le premier du mois 01 et janvier comme mois, il me fait l'erreur oracle :


    [CODE]ORA-01861: le littéral ne concorde pas avec le format chaîne de caractères[CODE]
    par exemple si je veux convertir cette date, ça marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select to_date(01012008 , 'DD/MM/RRRR') from dual
    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
    to_date se fait sur une chaine de caractère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date('01012008' , 'DDMMRRRR')
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date('01/01/2008' , 'DD/MM/RRRR')
    [EDIT] En plus 01012008 n'est pas un nombre, mais le formatage du nombre 1012008. Donc nulle doute qu'oracle fait une conversion implicite de 1012008, d'où ton erreur. [/EDIT]

  3. #3
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT To_char(to_date(01012008 , 'DDMMYYYY'),'DD/MM/YYYY') FROM dual

  4. #4
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Merci pour ta réponse, ton code me donne ceci:
    10/12/0008
    alors que moi je souhaite que ce soit le 01/02/2008
    Merci encore
    Citation Envoyé par SheikYerbouti Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT To_char(to_date(01012008 , 'DDMMYYYY'),'DD/MM/YYYY') FROM dual

  5. #5
    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
    Citation Envoyé par hichcasa Voir le message
    Merci pour ta réponse, ton code me donne ceci:
    10/12/0008
    alors que moi je souhaite que ce soit le 01/02/2008
    Merci encore
    L'explication est dans mon post

  6. #6
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    J'ai simplement repris votre propre exemple.
    Si la date au format texte est différente, merci de la donner ici, à la place d'une autre !

  7. #7
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    La date de comparaison dans la table est date,
    pour l'extraction j'ai fait un .bat où l'utilisateur clique et insert son intervalle de temps du style DDMMYYYY, et pour la compatibilité dans l'extraction, je souhaite convertir ceci en DD/MM/YYYY.

    comme il a dit PlaineR si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date('01/01/2008' , 'DD/MM/RRRR')
    ça marche,
    Ma clause where est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE DATEMP> to_date(&1 , 'DD/MM/RRRR') AND DATEMP < to_date(&2,'DD/MM/RRRR')
    Les deux valeurs &1 et &2 sont mon intervalle.
    Je vous remercie encore Mr SheikYerbouti, c'est grace à votre tuo que j'ai pu apprendre forms. Merci

    Citation Envoyé par SheikYerbouti Voir le message
    J'ai simplement repris votre propre exemple.
    Si la date au format texte est différente, merci de la donner ici, à la place d'une autre !

  8. #8
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    dans ce cas, les intervalles fournies doivent être au format DD/MM/YYYY et pas 01012008

  9. #9
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Merci, je vais faire comme ça alors, Merci aussi PlaineR heureusement que vous êtes là.
    Citation Envoyé par SheikYerbouti Voir le message
    dans ce cas, les intervalles fournies doivent être au format DD/MM/YYYY et pas 01012008

  10. #10
    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
    Il faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE DATEMP> to_date('&1' , 'DD/MM/RRRR') AND DATEMP < to_date('&2','DD/MM/RRRR')

  11. #11
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Oui merci plaineR c'est ce que j'ai fait pour mon test d'extraction et ça marche, je te remercie .

    Citation Envoyé par plaineR Voir le message
    Il faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE DATEMP> to_date('&1' , 'DD/MM/RRRR') AND DATEMP < to_date('&2','DD/MM/RRRR')

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

Discussions similaires

  1. [WD-2013] Application.quit ne marche pas pour moi
    Par laure.parent dans le forum VBA Word
    Réponses: 3
    Dernier message: 18/03/2014, 21h49
  2. Unlink ca marche pas pour moi!
    Par owenho dans le forum Langage
    Réponses: 6
    Dernier message: 21/07/2012, 20h40
  3. Question SQL (facile) mais pas pour moi
    Par fabianrs dans le forum Langage SQL
    Réponses: 15
    Dernier message: 30/03/2006, 03h44
  4. [omondo] le pluggin ne marche pas chez moi...
    Par webbulls dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 13/06/2005, 16h47
  5. [didactel linuxgraphic.org] ca marche pas chez moi
    Par netah25 dans le forum OpenGL
    Réponses: 7
    Dernier message: 07/07/2004, 16h41

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