Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 20/06/2005, 22h43   #1
Invité de passage
 
Inscription : juin 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 3
Points : 1
Points : 1
Par défaut equivalent de l'operateur like mais insensitive

Bonjour à tous
j'aimerai trouver une astuce pour effectuer des requêtes utilisant like mais sans tenir compte de la casse.

Connaissez vous des fonctions (genre utilisant regex) ou une astuce permettant de requeter sans tenir compte de la casse :

Toute aide est la bienvenue
merci
fx
fxgamoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 06h20   #2
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Il n'y a pas d'astuce à trouver puisque mysql est insensible à la casse dans les comparaisons de chaines.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 09h14   #3
Invité de passage
 
Inscription : juin 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 3
Points : 1
Points : 1
Bonjour et merci de ta réponse,

sur ma machine linux (debian woody, mysql 3.23.xx), une requête de type
select * from mabase where monchamps like "%toto%"
est sensible à la casse et ne produit pas les même résultats qu' avec "%ToTo%"

Je dois effectuer la requête sur un champs de type blob pour être tout à fait précis et au cas ou ca pourrait jouer....

Bonne journée
fx
fxgamoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 09h48   #4
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Les champ de type "blob" sont effectivement sensibles à la casse.

Ou bien tu changes le type de champ pour du "text", ou bien tu fait des requêtes du style :
Code :
1
2
 
SELECT * FROM mabase WHERE upper(monchamps) LIKE '%TOTO%'
Des infos ici :
http://dev.mysql.com/doc/mysql/fr/blob.html
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 10h23   #5
Invité de passage
 
Inscription : juin 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 3
Points : 1
Points : 1
Par défaut [résolu] probleme de casse avec l'opérateur like

Bonjour
Merci pour la réponse. ca produit exactement l'effet recherché
Pour ceux ki pourraient avoir le même soucis que moi....
en php ca peut donner:

$query="select * from mabase where upper(monchmaps) like \"%".strtoupper($mavariable)."%\"";

Merci en particulier à Jeca
Bonne journée
fx
fxgamoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h07.


 
 
 
 
Partenaires

Hébergement Web