Niveau
..........
En rapport...

Mysql et le case sensitive

Par défaut MySQL n'est pas case sensitive. C'est a dire que si vous recherchez (par exemple) :

mysql
col_name LIKE 'a%'

Vous obtiendrez aussi bien les col_name commençant par 'a' que par 'A' Si vous voulez rendre cette recherche sensible a la casse, vous devez utiliser un opérateur lui même sensible.
Par exemple, si vous comparer une chaîne de type latin1 vous pouvez utiliser COLLATE pour forcer latin1_general_cs ou latin1_bin.
Ceci aura pour effet de rendre la recherche sensible a la casse.

sql
col_name COLLATE latin1_general_cs LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_general_cs
col_name COLLATE latin1_bin LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_bin

Pour rendre une colonne case sentive par défaut, rendez-vous ici (en anglais)


Source : http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html
iDo 26/04/2006 11:51