Quelqu'un peut-il me dire si un serveur MySQL SELECT
La requête est sensible à la casse ou insensible à la casse par défaut ? Et si ce n'est pas le cas, quelle requête devrais-je envoyer pour pouvoir faire quelque chose comme :
SELECT * FROM `table` WHERE `Value` = "iaresavage"
Alors qu'en réalité, la valeur réelle de Value
est IAreSavage
.
53 votes
En fin de compte, cela dépend de la collation déposée - si c'est '_ci' (insensible à la casse) ou '_cs' (sensible à la casse).
18 votes
C'est une question mal formulée ;). La moitié des réponses vous montrent comment faire une comparaison insensible à la casse, l'autre moitié vise la sensibilité à la casse. Et une seule réponse vous dit que la valeur par défaut est en fait insensible à la casse :) Il est intéressant de noter que la sensibilité à la casse fonctionne même lorsque vous effectuez une comparaison de type
'value' in ('val1', 'val2', 'val3')
6 votes
@SaltyNuts mec, lire cette question 7 ans plus tard et réaliser à quel point j'étais un noob est embarrassant ! J'aurais pu simplement lire la documentation et la réponse est dans la première phrase sur les instructions SELECT...
1 votes
Pour ajouter à ce que @JovanPerovic a dit, utf8_bin le rend également sensible à la casse. Je ne sais pas si cela existait déjà à l'époque.