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 :

Problème avec requête date "Not a valid month"


Sujet :

SQL Oracle

  1. #1
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut Problème avec requête date "Not a valid month"
    Voila deux conditions issues d'une requêtes.
    les &3 et &4 sont des variables de substitution a rentrer par l'utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    where trunc(_D_EVENT_DATE) >= to_date('&3','DDMMRRRR') 
    and trunc(D_EVENT_DATE) <= to_date('&4','DDMMRRRR') 
     
    where to_date(substr(_S_MSG_ID,10,8),'RRRRMMDD') >= to_date('&3','DDMMRRRR')
    and to_date(substr(_S_MSG_ID,10,8),'RRRRMMDD') <= to_date('&4','DDMMRRRR')
    j'ai donc entrer les dates :
    - 05052011 pour &3 (pour 5 mai 2011)
    - 06062011 pour &4 (pour 6 juin 2011)

    > Sous sql developper le message d'erreur est : "Not a valid month"

    Est ce que j'ai mal écris la date ? je ne vois pas bien ou est l'erreur.
    Merci d'avance
    Bonne journnée

  2. #2
    Membre actif

    Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2008
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2008
    Messages : 167
    Points : 265
    Points
    265
    Par défaut
    Bonjour,
    test format de date sont bon
    (test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select to_date('05052011','DDMMRRRR') from dual; 
    select to_date('06062011','DDMMRRRR') from dual;
    )
    a mon avis c'est ton _D_EVENT_DATE qui n'est pas une colonne date

    ou tes variable qui ne sont pas substitué

  3. #3
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    D event est un champ de type date il est entré sur oracle sous ce format :27/12/10 16:04:32

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    A mon avis c'est plutôt to_date(&3,'DDMMRRRR') sans les quotes

  5. #5
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    j'ai essayé sans les quotes et j'ai une nouvelle erreur

    ORA-01847: day of month must be between 1 and last day of month

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    c'est peut-être pas ton &3 mais ton to_date(substr(_S_MSG_ID,10,8),'RRRRMMDD') !

    fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT min(_S_MSG_ID),max(_S_MSG_ID) from t
    pour voir si ton format de date joue!

  7. #7
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    Ouai il doit peut être yavoir un problème a ce niveau.

    Pour le min la requete me renvois
    -AAA00001_20101227114322730
    soit le 27 decembre 2010

    Pour le max la requete renvois
    -EAM20100223162345

    >Qui n'est pas formaté correctement
    c'est peut être pour cela que la sélection ne peut pas se faire. Il faudrait que j'arrive a restreindre ce champ a un format précis

Discussions similaires

  1. problème avec les dates nulles
    Par shingo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 30/09/2005, 12h32
  2. Réponses: 6
    Dernier message: 17/04/2005, 10h58
  3. probléme avec une date/string dans un CommandText
    Par critok dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/02/2005, 15h30
  4. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18
  5. Interbase - dbExpress -> problème avec les dates
    Par marghett dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/07/2004, 03h55

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