sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo funciona la función NCHAR() en SQL Server (T-SQL)

En SQL Server, puede usar T-SQL NCHAR() función para devolver el carácter Unicode basado en el código entero especificado.

Proporciona el código entero como argumento y la función devolverá el carácter Unicode según lo definido por el estándar Unicode.

Sintaxis

La sintaxis es así:

NCHAR ( integer_expression )

Donde integer_expression es el número entero para el que desea que se devuelva el carácter Unicode.

Ejemplo 1:uso básico

Aquí hay un ejemplo básico para demostrarlo:

SELECT NCHAR(123) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| {        |
+----------+

Ejemplo 2:fuera de rango

La documentación de Microsoft establece lo siguiente sobre el rango de enteros aceptables:

Cuando la intercalación de la base de datos no contiene el indicador de caracteres complementarios (SC), se trata de un número entero positivo de 0 a 65535 (0 a 0xFFFF). Si se especifica un valor fuera de este rango, se devuelve NULL. Para obtener más información acerca de los caracteres complementarios, consulte Intercalación y Compatibilidad con Unicode.

Cuando la intercalación de la base de datos admite el indicador SC, se trata de un número entero positivo de 0 a 1114111 (0 a 0x10FFFF). Si se especifica un valor fuera de este rango, se devuelve NULL.

Aquí hay un ejemplo de lo que sucede si salimos del rango de la intercalación de la base de datos.

SELECT NCHAR(65536) AS Result;

Resultado:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

En este caso, la base de datos no contiene el indicador de caracteres complementarios (SC) y, por lo tanto, 65536 está fuera de rango y NULL se devuelve por ese valor.

Tipos de devolución

También vale la pena señalar que el tipo de retorno de esta función es nchar(1) cuando la base de datos predeterminada no admite caracteres complementarios y nvarchar(2) cuando lo hace.