Lecture 1 minute
Un LIKE insensible à la casse
Pour rappel, l'opérateur LIKE disponible pour la clause WHERE d'une requête SQL est insensible à la casse. Que vous indiquiez les mots clés syno_mail ou SYNO_MAIL ou encore SyNo_MaIl, le résultat obtenu sera identique.
Caractère "_" dans un LIKE
Là où cela devient intéressant c'est que le mot clé
SYNO_MAIL match aussi
SYNOAMAIL
Si je traduis le like ci-dessus en regexp on obtient
#^syno.mail$#i
Autre exemple :
1 |
SELECT * FROM table WHERE field LIKE "S__O_M__L" |
Matche avec SYNO_MAIL.
Si je traduis le like ci-dessus en regexp on obtient #^s.{2}o.m.{2}l$#i
Conclusion
Si vous voulez EXACTEMENT l’expression SYNO_MAIL (non sensible à la casse) écrivez donc ceci :
1 |
SELECT * FROM table WHERE field LIKE "SYNO\_MAIL" |