Compartir a través de


Caracteres complementarios

Las cadenas nchar y nvarchar almacenan cada carácter como un valor de 16 bits en una codificación denominada UCS-2. Esta codificación, definida por versiones de Unicode anteriores a 1996, admite caracteres que van de U+0000 a U+FFFF. Las versiones posteriores de Unicode han definido caracteres adicionales, de U+10000 a U+10FFFF, denominados caracteres complementarios. . Estos caracteres se almacenan como pares de valores de 16 bits denominados pares suplentes en una codificación denominada UTF 16. Todas las nuevas intercalaciones de nivel _100 admiten la ordenación lingüística con caracteres complementarios.

Al utilizar caracteres complementarios, tenga en cuenta las siguientes limitaciones:

  • Los caracteres complementarios solo se pueden utilizar en operaciones de ordenación y comparación en versiones de intercalación 90 o superior.

  • Como los caracteres complementarios se almacenan en forma de dos valores de 16 bits, la función LEN() devuelve el valor 2 para cada carácter complementario que esté contenido en la cadena del argumento. De igual forma, las funciones CHARINDEX y PATINDEX falsean la aparición de caracteres complementarios dentro de las cadenas de caracteres.

  • Las funciones LEFT, RIGHT, SUBSTRING, STUFF y REVERSE pueden dividir los pares suplentes y provocar resultados inesperados.

  • Los caracteres complementarios no son compatibles con los caracteres comodín de subrayado (_), porcentaje (%) y símbolo de intercalación (^).

  • Los caracteres complementarios no son compatibles con metadatos, como nombres de objetos de base de datos.