uchar
Devuelve el carácter Unicode correspondiente al código numérico dado, tal como se define en el estándar Unicode.
A diferencia de nchar, al menos en las versiones antiguas de SQL Server, uchar soporta caracteres subrogados por encima de 0xFFFF.
Ejemplos
Sección titulada «Ejemplos»La siguiente consulta devuelve varios caracteres unicode a partir de su representación numérica (decimal o hexadecimal).
select uchar(65) letterA, uchar(127829) pizza, uchar(0x1F499) blueHeart;Ver SQL compilado
SELECT CASE WHEN 65>65535 THEN nchar(CAST(0xD7C0+(65/1024) AS int))+nchar(CAST(0xDC00+(65%1024) AS int)) ELSE nchar(65) END AS letterA, CASE WHEN 127829>65535 THEN nchar(CAST(0xD7C0+(127829/1024) AS int))+nchar(CAST(0xDC00+(127829%1024) AS int)) ELSE nchar(127829) END AS pizza, CASE WHEN 0x1F499>65535 THEN nchar(CAST(0xD7C0+(0x1F499/1024) AS int))+nchar(CAST(0xDC00+(0x1F499%1024) AS int)) ELSE nchar(0x1F499) END AS blueHeartEl resultado es:
| letterA | pizza | blueHeart |
|---|---|---|
| A | 🍕 | 💙 |
Comentarios
Sección titulada «Comentarios»Para obtener el valor numérico a partir de un carácter se pueden usar las funciones ascii o unicode, aunque estas solo cubren el rango hasta ‘0xFFFF’.
También se puede consultar la lista completa de caracteres unicode con las vistas Crono$UnicodeTable y Crono$UnicodeChars.