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 :

Pourquoi le code ora-01861 ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Par défaut Pourquoi le code ora-01861 ?
    Bonjour à toutes et à tous,

    Je n'arrive pas à trouver la solution, je fais un blocage

    Je cherche à connaître les nouveaux joueurs à une date, dans l'exemple le 27032007. Les joueurs ne doivent donc pas exister avant le 27032007 !

    Avec d'autres requêtes du style where date like '%20070327%', cela fonctionne correctement et ici non ?

    De plus il faudrait que je puisse saisir une date sous la forme DDMMYYYY et que cela fonctionne malgré le format de jdaval dans la bae YYYYMMDD.


    Les variables :

    nomutilisateur = dupont8976
    ladate = date (dans la base sous la forme YYYYMMDD)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SQL> SET LINESIZE 150
    SQL> SET PAGESIZE 150
    SQL> select D1.nomutilisateur,D1.date,
      2  count(distinct D1.nomutilisateur) over()
      3  FROM tm1genval D1
      4  where ladate >=to_date('20070327','YYYYMMDD')
      5  AND ladate <to_date('20070327','YYYYMMDD')+1
      6  AND NOT EXISTS (select 1 from tm1genval D2
      7  WHERE D2.nomutilisateur=D1.nomutilisateur 
      8  AND ladate < to_date('20070327','YYYYMMDD'));
    where ladate >=to_date('20070327','YYYYMMDD')
          *
    ERROR at line 4:
    ORA-01861: literal does not match format string
    Merci encore pour votre aide.

    Cordialement.

  2. #2
    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
    Le nom "date" est réservé non ?
    essaye de mettre l'alias de la table devant.

  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
    Non, en fait faut mettre d."date"

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Par défaut
    Citation Envoyé par McM
    Non, en fait faut mettre d."date"
    Le problème ne vient pas de date, j'ai changer la variable en ladate, j'ai toujours ERROR ORA-1861.

    Qui va donc trouver la solution ?

    Merci pour votre aide.

  5. #5
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,

    Est ce que ton champs ladate est obligatoire ( not null)?

    Si c'est facultatif rajoute dans ton code ladate is not null

    J'ai trouvé cet article sur Metalink
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Description
     
     
    Implicit data conversion from null terminated string host variable 
    to date, results in ORA-1861 'literal does not match format string'
    if the table is locked.

  6. #6
    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
    Pfff.. j'avais pas lu en entier la question posée :
    ladate = date (dans la base sous la forme YYYYMMDD)
    et
    Avec d'autres requêtes du style where date like '%20070327%', cela fonctionne correctement
    C'est quoi le type du champ ladate ? VARCHAR2 ou DATE ??

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Par défaut
    Citation Envoyé par salim11
    Salut,

    Est ce que ton champs ladate est obligatoire ( not null)?

    Si c'est facultatif rajoute dans ton code ladate is not null

    J'ai trouvé cet article sur Metalink
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Description
     
     
    Implicit data conversion from null terminated string host variable 
    to date, results in ORA-1861 'literal does not match format string'
    if the table is locked.
    Salut et merci pour ton aide,

    le champs dans ma base pour ladate is not null. Donc il y a obligatoirement une date.

    Comment peut-on faire d'après vous ?

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

Discussions similaires

  1. Pourquoi mon code est plus lent que Arrays.sort
    Par alexis779 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/12/2006, 13h44
  2. Réponses: 2
    Dernier message: 31/07/2006, 09h48
  3. ERREUR ORA-01861
    Par claralavraie dans le forum Oracle
    Réponses: 3
    Dernier message: 04/01/2006, 18h01
  4. Pourquoi ce code marche pas sous FF?
    Par Death83 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/09/2005, 11h04
  5. Réponses: 11
    Dernier message: 08/10/2004, 16h12

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