Bonjour,
j'ai une requête avec un like que je voudrais rendre insensible à la casse :
Vous aurez compris que je voudrais que ma requête me retourne les enregistrements dont le champ valeur_meta contient Word ou word indiférament.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT DISTINCT id_document, identifiant_meta FROM vue_moteur_recherche WHERE (identifiant_meta = 'format' AND valeur_meta like '%word%') )
Or, il semble que chez moi, like soit sensible à la casse (ce qui est bizzare, car au cours de mes recherches j'ai lu plusieures fois qu'il était censé être insensible).
J'ai essayé de jouer avec les fonction UPPER() ou LOWER() de la manière suivante :
=> même résultat, la requête est sensible à la casse ... c'est incompréhensible on dirait que les fonctions upper et lower n'ont strictement aucun effet (est-ce à cause du like ou des jokers ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT DISTINCT id_document, identifiant_meta FROM vue_moteur_recherche WHERE (identifiant_meta = 'format' AND UPPER(valeur_meta) like UPPER('%word%')) )
J'en viens à me demander si ce n'est pas un problème de config de mon serveur (mais lequel ?).
Y'a t'il une astuce miracle en SQL ?
Dois-je faire un réglage sur mysql ?
Je précise que je travaille sur MySQL 5 sous windows, les champs interrogés par ma requete sont issus d'une vue, ils sont dans leur table d'origine de type varchar et d'interclassement latin1_swedish_ci
Merci d'avance aux pros de MySQL du forum
Partager