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 :

Fonction "to_date" couplée avec fonction "&"


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Par défaut Fonction "to_date" couplée avec fonction "&"
    Bonjour,

    Pouvez-vous m'aider svp ?

    Les 2 dernières lignes de ma requête ne fonctionne pas.
    Le tableau en bas est le résultat de la partie sélectionnée de ma requête.
    On voit bien que ce champ est de format DD/MM/AAAA. Il a également été créé en temps que champs "date".

    Nom : Imprim ecran SQL To_date Vs &.png
Affichages : 571
Taille : 45,8 Ko

    Les 2 dernières lignes permettent de borner les résultats entre 2 dates à indiquer.

    Le système me demande bien d'indiquer les 2 dates. Mais après j'ai le message suivant :

    ORA-01858 : Caractère non numérique trouvé à la place d'un caractère numérique

    J'ai tenté diverses trucs, dont => remplacer la fonction "to-date" par "to_number", mais dans ce cas j'ai ce message :

    ORA 00932 : types de données incohérentes ; attendu : DATE ; obtenu : NUMERIQUE.

    Ca ne doit pas être grand chose mais je trouve pas..

    En vous remericiant,
    Cdt
    Rémy

  2. #2
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    De quel type est cf$date_prochain_inventai?

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Faut vérifier aussi si c'est bien cette ligne qui pose problème, ça pourrait être un autre champ de la condition WHERE

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 240
    Par défaut
    Quand le système te demande d'indiquer les 2 dates, tu entres quoi ? Tu entres bien un truc comme '31/12/2017' , avec des / , et dans l'ordre jour mois année , et si par hasard tu veux le 1er décembre, tu mets bien 01/12/2018 : Le 0 initial est indispensable, et il ne faut aucun espace, la chaine doit faire exactement 10 caractères, avec / en positions 3 et 6, et des chiffres dans les 8 autres emplacements.
    Tu peux aussi tenter une date comme 34/56/7890 pour voir si le message d'erreur change.

    Sinon, as-tu tenté de mettre 2 dates en dur dans ta requête. Bien entendu, ce n'est pas ça qu'il faudra faire au final, mais ça peut aider à diagnostiquer le bug.

  5. #5
    Membre du Club
    Homme Profil pro
    Informaticien de gestion
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien de gestion
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    Est-ce que tu mets ta valeur entre ' lorsque tu la saisis?
    '30/11/2018' au lieu de 30/11/2018

  6. #6
    Membre confirmé

    Inscrit en
    Octobre 2003
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 188
    Par défaut
    Bonjour.

    saisis tes date au format que tu as précisé sans rien d'autre.
    Et dans ta requête, mets &a_partir_du et &jusqu_au entre guillemets simples comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    and  A.cf$_date_prochain_inventaire between to_date('&A_partir_du','dd/mm/yyyy')
    and to_date('&jusqu_au','dd/mm/yyyy');
    En fait to_date attend comme paramètres une chaîne de caractères exprimant une date, et, éventuellement, une chaîne de caractères spécifiant sous quel format elle est exprimée.
    Si tu ne mets pas les guillemets simples, il va interpréter ta date dd/mm/yyyy comme le calcul de dd divisé par mm divisé par yyyy soit un nombre.
    Et là, il n'aime pas du tout

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/02/2016, 18h27
  2. [AC-2013] Fonction Si couplée avec la fonction "Trouve"
    Par kimai dans le forum Access
    Réponses: 1
    Dernier message: 04/11/2015, 17h05
  3. erreur avec la fonction to_date
    Par logredebarbak dans le forum SQL
    Réponses: 6
    Dernier message: 01/03/2011, 11h38
  4. [langage] problème avec fonction read
    Par domidum54 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2004, 20h42
  5. [VStudio 6] pb avec fonctions dans une DLL
    Par MogDeChNord dans le forum MFC
    Réponses: 8
    Dernier message: 08/01/2004, 08h57

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