El punto principal de una intercalación de base de datos es determinar cómo se ordenan y se comparan los datos.
mayúsculas y minúsculas de las comparaciones de cadenas
SELECT "New York" = "NEW YORK";`
volverá cierto para un caso de colación insensibles; falso para uno sensible a mayúsculas y minúsculas.
Qué clasificación puede decirse con el sufijo _ci
y _cs
en el nombre de la recopilación. _bin
las comparaciones hacen comparaciones binarias (las cadenas deben ser 100% idénticas).
Comparación de diéresis/caracteres acentuados
la intercalación también determina si los caracteres acentuados se tratan como sus homólogos de base latino en las comparaciones de cadenas.
SELECT "Düsseldorf" = "Dusseldorf";
SELECT "Èclair" = "Eclair";
devolverá verdadero en el primer caso; falso en el último. Deberá leer la descripción de cada recopilación para descubrir cuál es cuál.
Cadena de clasificación
La colación influye en la forma como las cadenas se ordenan.
Por ejemplo,
Las diéresis Ä Ö Ü
están en el final del alfabeto en el alfabeto finlandés/sueco latin1_swedish_ci
son tratados como A O U
en alemán DIN-1 de clasificación (latin_german1_ci
)
y como AE OE UE
en alemán clasificación DIN-2 (latin_german2_ci
). (clasificación de "directorio telefónico"
En latin1_spanish_ci
, "ñ" (n-tilde) es una letra separada entre "n" y "o".
Estas reglas darán lugar a diferentes órdenes de clasificación cuando se utilizan caracteres no latinos.
Uso de colaciones en tiempo de ejecución
Usted tiene que elegir una colación para su mesa y columnas, pero si no te importa el impacto en el rendimiento, se puede obligar a las operaciones de base de datos en un determinado cotejo en tiempo de ejecución utilizando la COLLATE
palabra clave.
Esto ordenará table
por la columna de name
usando DIN-2 reglas de clasificación alemana:
SELECT name
FROM table
ORDER BY name COLLATE latin1_german2_ci;
Usando COLLATE
en tiempo de ejecución tendrá consecuencias en el rendimiento, ya que cada columna tiene que ser convertido durante la consulta. Así que piense dos veces antes de aplicar esto, haga grandes conjuntos de datos.
MySQL Referencia:
¿Qué le parece el cotejo significa? – msw