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 :

Erreur Oracle not a valid month


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 26
    Points : 11
    Points
    11
    Par défaut Erreur Oracle not a valid month
    Bonjour,
    Je rencontre un problème sous oracle très bloquant avec le message ci dessous :
    UDA-SQL-0114 Le curseur fourni pour l'opération 'sqlOpenResult' est inactif.UDA-SQL-0107 Une erreur s'est produite pendant l'opération 'open result'.ORA-01843: not a valid month
    Le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT 
     ROUND((((20- SUBSTR(AH.PRO_NBR,12,2)- SUBSTR(AH.PRO_NBR,15,2)/60) + ((TO_CHAR(CH.CREATE_DATE_TIME, 'hh24') + TO_CHAR(CH.CREATE_DATE_TIME, 'mi')/60) - 6) + (14 * (to_date(SUBSTR(AH.PRO_NBR ,1,10)) - trunc(CH.CREATE_DATE_TIME) - 1)) )) - (NVL(Calcul.ouv,0) * 14) , 2) Ecart_respect,
    Après avoir retirer la partie qui pose problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     (14 * (to_date(SUBSTR(AH.PRO_NBR ,1,10)) - trunc(CH.CREATE_DATE_TIME) - 1))
    le rapport est ok mais mon calcul n'est pas bon sans cette partie.

    Pouvez vous svp m'expliquer comment je peux écrire le code en intégrant le calcul générant l'erreur sachant que l'objectif est de calculer le nombre d'heure (14 heures par jours) entre les deux dates PRO_NBR et CREATE_DATE_TIME.
    CREATE_DATE_TIME de format DATE
    AH.PRO_NBR posséde un format VARCHAR2(20 CHAR)

    Merci beaucoup

    Cordialement,

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    Je suis toujours bloqué
    Merci de votre aide

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Points : 807
    Points
    807
    Par défaut
    De maniere etrange, il y a pas forcement grand monde entre 18h30 et 7h50. C'est fou ces forums avec des gens qui aident de maniere desinteresse.
    Bref...


    Votre code d'erreur, veut dire ce qu'il veut dire. Et vous avez presque isole le probleme, pourquoi ne pas etre alle au bout des choses?

    AMHA, c'est cette partie qui bloque:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date(SUBSTR(AH.PRO_NBR ,1,10))
    Je vous conseille de mettre un format dans le to_date, exemple le dd/mm/yyyy:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select 14*(to_date('11/03/2011','dd/mm/yyyy')-to_date('27/02/2011','dd/mm/yyyy')) from dual;

    Si ca ne fonctionne toujours pas, vous avez peut-etre un de vos tuples qui est mal formate.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 26
    Points : 11
    Points
    11
    Par défaut
    Merci
    c'est résolu
    TRUNC(to_date(SUBSTR(date,1,10),'dd/mm/yyyy'))
    Cdt,

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Le trunc sans argument renvoie la date tronquée à la journée.
    Comme votre to_date s'arrête lui aussi à la journée, le trunc est donc ici inutile.

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

Discussions similaires

  1. ORA-01843: not a valid month
    Par jplec dans le forum PL/SQL
    Réponses: 13
    Dernier message: 23/06/2017, 13h19
  2. [11g] Erreur : Not a valid month error (ORA-1843)
    Par jérémyp8 dans le forum Oracle
    Réponses: 4
    Dernier message: 28/11/2013, 17h32
  3. OracleException not a valid month
    Par khadime27 dans le forum C#
    Réponses: 7
    Dernier message: 18/09/2012, 16h58
  4. Réponses: 6
    Dernier message: 10/06/2011, 13h57
  5. Not a valid month ? ?
    Par szdavid dans le forum Oracle
    Réponses: 22
    Dernier message: 16/01/2006, 16h55

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