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

PL/SQL Oracle Discussion :

Problème de to_date


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 43
    Par défaut Problème de to_date
    Bonjour à tous,

    J'ai un problème avec la récupération de la valeur de l'heure dans un to_date.

    Voici la ligne de code que j'effectue :

    heure_action := to_date(enr.ACT_DTE, 'HH24:MM:SS');
    heure_fin_action := to_date(enr.END_ACT_DTE, 'HH24:MI:SS');

    Les deux variables sont bien sur déclarées en tant que DATE.

    Quand j'exécute ma procédure, Oracle me dit ceci : "hour must be between 0 and 23".

    Je trouve ça bizard car dans la ma base de données, ACT_DTE et END_ACT_DTE contiennent par exemple : 30/08/2012 14:51:00.
    14 est bien compris entre 0 et 23 donc je ne comprend pas d'où vient l'erreur...

    J'espére que vous pourrez m'aider car je galére depuis 1 jour et demi (week-end non compris). N'hésitez pas à me demander des explications si ce que je vous explique n'est pas clair.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par lllhuhdklll Voir le message
    ...
    heure_action := to_date(enr.ACT_DTE, 'HH24:MM:SS');
    heure_fin_action := to_date(enr.END_ACT_DTE, 'HH24:MI:SS');

    Les deux variables sont bien sur déclarées en tant que DATE.
    ...
    Si les deux variable sont bien déclarées en tant que DATE pourquoi voulez-vous appliquer la fonction TO_DATE ? Avez vous compris à quoi To_Date sert ?
    TO_DATE converts char of CHAR, VARCHAR2, NCHAR, or NVARCHAR2 data type to a value of DATE data type.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 43
    Par défaut
    Effectivement, je ne pense pas avoir compris cette fonction, mais votre citation m'éclaire dessus.

    Bref, ce que je veux faire c'est séparer la date et l'heure pour les mettre dans deux variable différentes.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Utilisez To_Char quoi que je doute que c'est vraiment ça que vous voulez faire.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 43
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Utilisez To_Char quoi que je doute que c'est vraiment ça que vous voulez faire.
    Si je met to_char à la place de to_date, il me dit : "not a valid month".


    Citation Envoyé par boussafi Voir le message
    si tu veux extraire juste l'heure essaie la fonction substr
    Merci, je pencherai plutôt sur cette solution qui me parait la plus pertinente dans mon cas.

    Je verrais ça demain car là je dois y aller.
    Bonne soirée à tous et merci de votre aide.

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Si je met to_char à la place de to_date, il me dit : "not a valid month".
    Peut être que c'est parce que vous utilisez MM à la place de MI, n'est pas ça ?

  7. #7
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    bonjour

    date n'est pas heure,
    ce formtage est erroné, et si tu veux recuperer l'heure y compris date tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_date(enr.ACT_DTE,'dd/mm/yyyy HH24:MI:SS');
    en plus si tu veux extraire juste l'heure essaie la fonction substr

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

Discussions similaires

  1. [10g] Problème avec l'instruction START WITH TO_DATE
    Par NFHnv dans le forum PL/SQL
    Réponses: 6
    Dernier message: 18/10/2013, 23h45
  2. Problème to_date PL/SQL
    Par saad.elalami dans le forum PL/SQL
    Réponses: 2
    Dernier message: 10/09/2012, 09h19
  3. Réponses: 14
    Dernier message: 17/05/2011, 11h49
  4. Problème avec To_date
    Par fanch17 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/08/2003, 12h34
  5. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18

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