Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1546 connectés 

  FORUM HardWare.fr
  Programmation

  Problème requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème requete SQL

n°153313
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 10:21:15  profilanswer
 

J'ai nu problème je fais une requête SQL :  
select nom from ma_table where designation like('%mon_mot%';);
Je voudrait que la requete puisse traité mon_mot qu'il soit en minuscule ou en majuscule! parce ke si mon mot est en majuscule dans ma base et que dans la requete je l'ecris en minuscule il me renvoie aucune reponse alors ke j'en ai une ki correspond!
Merci de l'aide [:yoz]


---------------
Un jour je me suis dit je vais tout niqué...
mood
Publicité
Posté le 07-06-2002 à 10:21:15  profilanswer
 

n°153321
mareek
Et de 3 \o/
Posté le 07-06-2002 à 10:26:51  profilanswer
 

airv3 a écrit a écrit :

J'ai nu problème je fais une requête SQL :  
select nom from ma_table where designation like('%mon_mot%';);
Je voudrait que la requete puisse traité mon_mot qu'il soit en minuscule ou en majuscule! parce ke si mon mot est en majuscule dans ma base et que dans la requete je l'ecris en minuscule il me renvoie aucune reponse alors ke j'en ai une ki correspond!
Merci de l'aide [:yoz]  




 
tu utilises quel SGBD pour ta base ?


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°153324
darklord
You're welcome
Posté le 07-06-2002 à 10:27:54  profilanswer
 

le but de like et de % % est utile pour tout chaine qui contient ce qu'il y a entre % %  
 
En ce qui concerne maj/min il faut probablement appliquer une fonction qui dépend du SGBD.


---------------
Just because you feel good does not make you right
n°153325
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 10:29:46  profilanswer
 

j'utilise une base ORacle 8i


---------------
Un jour je me suis dit je vais tout niqué...
n°153327
irulan
Posté le 07-06-2002 à 10:33:00  profilanswer
 

select nom from ma_table where UPPER(designation) like('%MON_MOT%';);
 
Explication : UPPER permet de ne considérer que la forme en majuscule du mot. Tu mets donc MON_MOT en majuscule d'un côté, et tu utilises de l'autre UPPER de ta colonne, comme ça Oracle convertissant tout en majuscule, tu ne te préoccupes plus de la casse.


Message édité par irulan le 06-07-2002 à 10:35:46
n°153329
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 10:33:24  profilanswer
 

DarkLord a écrit a écrit :

le but de like et de % % est utile pour tout chaine qui contient ce qu'il y a entre % %  
 
En ce qui concerne maj/min il faut probablement appliquer une fonction qui dépend du SGBD.  




Pour le like j'utilise comme ca le moteur de recherche renvoie tout ce ki est silikaire a la recherche!
Mais mon problème ce sont les majuscule


---------------
Un jour je me suis dit je vais tout niqué...
n°153334
mareek
Et de 3 \o/
Posté le 07-06-2002 à 10:34:54  profilanswer
 

airv3 a écrit a écrit :

j'utilise une base ORacle 8i  




 
je sais que dans SQL server tu choisis à l'installation si ta base doit être "case sensitive" ou non. regarde dans les options d'oracle voir si tu trouve qqch


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°153337
irulan
Posté le 07-06-2002 à 10:36:55  profilanswer
 

irulan a écrit a écrit :

select nom from ma_table where UPPER(designation) like('%MON_MOT%';);
 
Explication : UPPER permet de ne considérer que la forme en majuscule du mot. Tu mets donc MON_MOT en majuscule d'un côté, et tu utilises de l'autre UPPER de ta colonne, comme ça Oracle convertissant tout en majuscule, tu ne te préoccupes plus de la casse.  



n°153353
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 10:45:14  profilanswer
 

irulan a écrit a écrit :

 




Merci c'est bon!
Par contre tu vois si le mot commence par une majuscule et le reste minuscule ca marche pas!Exemple si je tape :
SERVLET -> c'est ok!
servlet -> c'est ok!
Servlet -> c'est pas ok!!!


---------------
Un jour je me suis dit je vais tout niqué...
n°153364
irulan
Posté le 07-06-2002 à 10:49:50  profilanswer
 

Ah bon ?  :heink:  
Normalement, la commande UPPER met tout le mot en majuscule, indépendamment du fait qu'il y ait une majuscule dedans ou non à l'origine.
Quand tu parles de 'Servlet' c'est pour MON_MOT ou pour le contenu la colonne description ?

mood
Publicité
Posté le 07-06-2002 à 10:49:50  profilanswer
 

n°153382
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 10:57:29  profilanswer
 

irulan a écrit a écrit :

Ah bon ?  :heink:  
Normalement, la commande UPPER met tout le mot en majuscule, indépendamment du fait qu'il y ait une majuscule dedans ou non à l'origine.
Quand tu parles de 'Servlet' c'est pour MON_MOT ou pour le contenu la colonne description ?  




Oui c'est pour MON_MOT


---------------
Un jour je me suis dit je vais tout niqué...
n°153416
irulan
Posté le 07-06-2002 à 11:09:37  profilanswer
 

:sarcastic:  
Bon je réexplique : quand tu utilises UPPER(description), Oracle va effectuer la recherche sur la colonne description en convertissant en version majuscule toute chaîne de caractère présente dans la colonne, Ok ?
 
Donc pour MON_MOT, il faut que ce soit un mot en majuscule forcément (c'est d'ailleurs pour ça que je l'avais mis en majuscule et en gras dans l'exemple).  
 
PS. Manifestement, Oracle a intégré une fonctionnalité permettant d'effectuer une conversion automatique d'une chaîne tout en minuscule car normalement tu ne devrais rien avoir en retour avec une chaîne de minuscule pour MON_MOT.

n°153423
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 11:14:37  profilanswer
 

Ouai smais en fait MON_MOT je le recupère par un serlet (prog java) et c'est l'utilisateur ki tape le mot donc on est pas censé savoir si il va le tapé en majusculke ou minuscule


---------------
Un jour je me suis dit je vais tout niqué...
n°153433
mareek
Et de 3 \o/
Posté le 07-06-2002 à 11:22:51  profilanswer
 

airv3 a écrit a écrit :

Ouai smais en fait MON_MOT je le recupère par un serlet (prog java) et c'est l'utilisateur ki tape le mot donc on est pas censé savoir si il va le tapé en majusculke ou minuscule  




ben tu fais :
select nom from ma_table where UPPER(designation) like('%UPPER(MON_MOT)%';);


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°153437
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 11:25:29  profilanswer
 

mareek a écrit a écrit :

 
ben tu fais :
select nom from ma_table where UPPER(designation) like('%UPPER(MON_MOT)%';);  




je v essayé


---------------
Un jour je me suis dit je vais tout niqué...
n°153441
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 11:27:16  profilanswer
 

mareek a écrit a écrit :

 
ben tu fais :
select nom from ma_table where UPPER(designation) like('%UPPER(MON_MOT)%';);  




ca marche carrément pas!


---------------
Un jour je me suis dit je vais tout niqué...
n°153443
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 11:29:41  profilanswer
 

airv3 a écrit a écrit :

 
ca marche carrément pas!  




en plus si je reprends la première requete :
select nom from table where UPPER(designation) like('%mon_mot%';)
Si l'utilisateur tape le mot en minuscule ca passe pas! il me donne aucune réponse


---------------
Un jour je me suis dit je vais tout niqué...
n°153456
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 11:41:50  profilanswer
 

Alors pas d'idée???


---------------
Un jour je me suis dit je vais tout niqué...
n°153471
irulan
Posté le 07-06-2002 à 11:55:09  profilanswer
 

Ben tu n'as pas la possibilité d'utiliser une fonction pour convertir ton mot en majuscule avant de l'utiliser dans la requête SQL ?

n°153473
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 11:58:07  profilanswer
 

irulan a écrit a écrit :

Ben tu n'as pas la possibilité d'utiliser une fonction pour convertir ton mot en majuscule avant de l'utiliser dans la requête SQL ?  




franchement SQL j'en ai fais ke pendant 9 semaine et j'avais un profs bidon!
En fait ma requete je l'utilise dans un programme java qui se connect à une BD


---------------
Un jour je me suis dit je vais tout niqué...
n°153499
darklord
You're welcome
Posté le 07-06-2002 à 12:17:27  profilanswer
 

String.toUpperCase();


---------------
Just because you feel good does not make you right
n°153525
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 12:38:00  profilanswer
 

DarkLord a écrit a écrit :

String.toUpperCase();  




ouais mais la c'et dans le prog java ke ca convertit en majuscule mais moi je ve ke ca se fasse au niveu du traitement dans la base de donnée


---------------
Un jour je me suis dit je vais tout niqué...
n°153526
mareek
Et de 3 \o/
Posté le 07-06-2002 à 12:41:35  profilanswer
 

airv3 a écrit a écrit :

 
ouais mais la c'et dans le prog java ke ca convertit en majuscule mais moi je ve ke ca se fasse au niveu du traitement dans la base de donnée  




 
copie la ligne où tu execute cette requète SQL sur le forum, on mettra ce qu'il faut et t'auras juste à la recopier dan ston programme.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°153531
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 12:45:49  profilanswer
 

mareek a écrit a écrit :

 
 
copie la ligne où tu execute cette requète SQL sur le forum, on mettra ce qu'il faut et t'auras juste à la recopier dan ston programme.  




voi la a requete :  
      String req = "SELECT CHEMIN_ACCES, DESIGNATION from PRODUITS where UPPER(REF_PRODUITS) like('%" + rech + "%';) or LOWER(DESIGNATION) like('%" + rech + "%';)";
 
rech ca correspond au mot ke je recupère pour effectuer ma recherche dans la BD!


---------------
Un jour je me suis dit je vais tout niqué...
n°153535
mareek
Et de 3 \o/
Posté le 07-06-2002 à 12:55:59  profilanswer
 

airv3 a écrit a écrit :

 
voi la a requete :  
      String req = "SELECT CHEMIN_ACCES, DESIGNATION from PRODUITS where UPPER(REF_PRODUITS) like('%" + rech + "%';) or LOWER(DESIGNATION) like('%" + rech + "%';)";
 
rech ca correspond au mot ke je recupère pour effectuer ma recherche dans la BD!  




essaie ça:

Code :
  1. String req = "SELECT CHEMIN_ACCES, DESIGNATION from PRODUITS where UPPER(REF_PRODUITS) like('%" + rech.toUpperCase() + "%')";


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°153544
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 13:10:22  profilanswer
 

mareek a écrit a écrit :

 
essaie ça:

Code :
  1. String req = "SELECT CHEMIN_ACCES, DESIGNATION from PRODUITS where UPPER(REF_PRODUITS) like('%" + rech.toUpperCase() + "%')";

 




ca marche impek, merci, je voyais pas l'utilisation de toUpperCAse com ca!
Merci de ton aide!!!!


---------------
Un jour je me suis dit je vais tout niqué...
n°153554
benoide
Posté le 07-06-2002 à 13:27:02  profilanswer
 

[:content]

n°153557
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 13:28:29  profilanswer
 

[:zekill]

benoide a écrit a écrit :

[:content]  




 :fuck:  [:zekill]  [:visualc%2B%2B]


---------------
Un jour je me suis dit je vais tout niqué...
n°153559
benoide
Posté le 07-06-2002 à 13:31:47  profilanswer
 

[:zork] :bounce:

n°153606
darklord
You're welcome
Posté le 07-06-2002 à 14:10:17  profilanswer
 

airv3 a écrit a écrit :

 
ouais mais la c'et dans le prog java ke ca convertit en majuscule mais moi je ve ke ca se fasse au niveu du traitement dans la base de donnée  




 
t'es vraiment trop bête toi franchement.  
 
 :gun:  :gun:  :gun:


---------------
Just because you feel good does not make you right
n°153629
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 14:35:54  profilanswer
 

DarkLord a écrit a écrit :

 
 
t'es vraiment trop bête toi franchement.  
 
 :gun:  :gun:  :gun:  




quest ce ke tu ve on pe pas etre tous aussi intelligent ke toi!
moi je suis un ptit  [:xfalken] ki te  [:iznogoud_23] ou bien je te [:zoub]


---------------
Un jour je me suis dit je vais tout niqué...
n°153635
darklord
You're welcome
Posté le 07-06-2002 à 14:38:49  profilanswer
 

ouais mais non c'est ta réflexion qui est vraiment stupide. Désolé mais bon là quand meme :)


---------------
Just because you feel good does not make you right
n°153647
airv3
Des mecs com lui y en a pas 2
Posté le 07-06-2002 à 14:45:04  profilanswer
 

DarkLord a écrit a écrit :

ouais mais non c'est ta réflexion qui est vraiment stupide. Désolé mais bon là quand meme :)  




Je sais mais ke ve tu!


---------------
Un jour je me suis dit je vais tout niqué...
n°153656
mareek
Et de 3 \o/
Posté le 07-06-2002 à 14:58:50  profilanswer
 

airv3 a écrit a écrit :

 
quest ce ke tu ve on pe pas etre tous aussi intelligent ke toi!
moi je suis un ptit  [:xfalken] ki te  [:iznogoud_23] ou bien je te [:zoub]  




 
forcement si tu te tape frénétiquement la tête contre les murs, ton cerveau va beaucoup moins bien marcher pour la programmation apres.  :D


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Problème requete SQL

 

Sujets relatifs
lien Access/SQL Server[SQL/PHP] GRAS / ITALIQUE par simple click
[PHP] probleme avec requete SQL[SQL] Problème de requête !! Help !
[SQL] Requête et date (Problème résolu merci...)Problème de requête SQL avec condition "Where" en vb...
[SQL] un chti problème de requête :([SQL] [access] problème avec requête sur un champ de type date
[SQL] j'ai un ptit probleme avec une requete....[SQL] Probleme de requete
Plus de sujets relatifs à : Problème requete SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR