¿Existe algún tipo de intercalación en MySQL que admita Case Sensitive? Tuve todo tipo de colación en MySQL, todos tienen _ci al final de su nombre, por lo que son comparaciones insensibles a mayúsculas y minúsculas. Gracias de antemano.
De acuerdo con el Manual de MySQL http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html , debería poder establecer la intercalación en _cs
para la _cs
entre mayúsculas y minúsculas. Puede obtener una lista de colaciones _cs
ejecutando SHOW COLLATION WHERE COLLATION LIKE "%_cs"
query
Después de una pequeña investigación:
Aparentemente no hay utf8_*_cs
en MySQL (todavía). Si necesita una intercalación sensible a mayúsculas / minúsculas para campos utf8, debe usar utf8_bin
. Esto arruinará ORDER BY
, pero esto se puede arreglar mediante la ORDER BY column COLLATE utf8_general_ci
Fuente: http://forums.mysql.com/read.php?103,19380,200971#msg-200971 y http://forums.mysql.com/read.php?103,156527,198794#msg-198794
Pruebe una intercalación que termine en _bin
, como latin1_bin
o utf8_bin
, dependiendo de su conjunto de caracteres.
La nueva versión de MySQL (8.0.1 y superior) viene (finalmente) con un conjunto de utf8mb4_*_0900_as_cs
.
Más sobre esto aquí