2012-07-07 10 views
15

O si no lo hace, entonces, ¿qué es realmente un servidor Sql collation? Tal vez mi comprensión de la intercalación (como concepto) es incorrecta.¿Existe tal colación Unicode?

No deseo especificar mi compilación al griego, al islandés o al oeste europeo. Deseo poder utilizar cualquier idioma que sea compatible con Unicode.

(estoy usando MSSQL 2005)

ACTUALIZACIÓN: Ok, estoy reformulando la pregunta: ¿Hay una colación genérica, independiente del cultivo que se puede utilizar para textos de cualquier cultura? Sé que no contendrá reglas específicas de la cultura como 'ty' en húngaro o ß = ss en alemán, pero proporcionará resultados consistentes y generalmente aceptables.

¿Hay alguna intercalación que sea no específica de la cultura?

+1

Use 'nvarchar', etc. en lugar de' varchar'. La intercalación aún tiene un papel en la determinación de las reglas de comparación (y, por lo tanto, de clasificación), pero no afecta el rango de caracteres que se pueden almacenar en este caso. –

+0

http://dba.stackexchange.com/a/31861/19091 ofrece una gran explicación de lo que es/hace una intercalación en el contexto del servidor SQL. – Stijn

Respuesta

9

Bueno, siempre hay una intercalación binaria como Latin1_General_BIN2. Almacena los puntos de código en orden numérico, lo que puede ser bastante arbitrario. Sin embargo, no es específico de la cultura (a pesar del nombre).

Parece que no hay ninguna forma inteligente de ordenar datos de múltiples idiomas/culturas juntos, así que en lugar de una solución a medias, todo lo que puedes hacer es ordenar por los valores binarios.

4

Este es un buen artículo para saber qué es colación, breve y dulce: SQL Server and Collation.

La clasificación es algo que le permitirá comparar y ordenar los datos. Por lo que puedo recordar, no hay nada como la intercalación Unicode.

Cuestiones relacionadas