Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/06/2011, 09h43   #1
Membre du Club
 
Avatar de -Fly-
 
Étudiant
Inscription : octobre 2010
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 170
Points : 61
Points : 61
Envoyer un message via MSN à -Fly- Envoyer un message via Skype™ à -Fly-
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 :
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
-Fly- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 11h53   #2
Membre habitué
 
Inscription : septembre 2008
Messages : 92
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 92
Points : 112
Points : 112
Bonjour,
test format de date sont bon
(test
Code :
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é
a.presles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 11h58   #3
Membre du Club
 
Avatar de -Fly-
 
Étudiant
Inscription : octobre 2010
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 170
Points : 61
Points : 61
Envoyer un message via MSN à -Fly- Envoyer un message via Skype™ à -Fly-
D event est un champ de type date il est entré sur oracle sous ce format :27/12/10 16:04:32
-Fly- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 12h00   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
A mon avis c'est plutôt to_date(&3,'DDMMRRRR') sans les quotes
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 12h06   #5
Membre du Club
 
Avatar de -Fly-
 
Étudiant
Inscription : octobre 2010
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 170
Points : 61
Points : 61
Envoyer un message via MSN à -Fly- Envoyer un message via Skype™ à -Fly-
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
-Fly- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 12h17   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

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

fait un

Code :
SELECT min(_S_MSG_ID),max(_S_MSG_ID) FROM t
pour voir si ton format de date joue!
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 13h57   #7
Membre du Club
 
Avatar de -Fly-
 
Étudiant
Inscription : octobre 2010
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 170
Points : 61
Points : 61
Envoyer un message via MSN à -Fly- Envoyer un message via Skype™ à -Fly-
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
-Fly- est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h45.


 
 
 
 
Partenaires

Hébergement Web