En SQL Server, T-SQL CHAR()
función convierte un int código ASCII a un valor de carácter. En otras palabras, pasa un número entero y la función lo interpreta como el valor del código para un carácter de cadena y devuelve el carácter de cadena correspondiente.
Sintaxis
La sintaxis es así:
CHAR ( integer_expression )
Donde integer_expression
es un número entero de 0 a 255.
Si especifica un número entero fuera de este rango, el resultado es NULL
. Lo mismo ocurre si proporciona un número entero que expresa solo el primer byte de un carácter de doble byte.
Ejemplo 1:uso básico
Aquí hay un ejemplo para demostrar el uso básico:
SELECT CHAR(67) AS 'Result';
Resultado:
+----------+ | Result | |----------| | C | +----------+
Entonces, si cambiamos el número entero, obtenemos un carácter diferente:
SELECT CHAR(255) AS 'Result';
Resultado:
+----------+ | Result | |----------| | ÿ | +----------+
Ejemplo 2:enteros múltiples
Esta función no admite varios enteros como argumentos. Si proporciona varios enteros, obtendrá un error.
He aquí un ejemplo:
SELECT CHAR(67, 255) AS 'Result';
Resultado:
The char function requires 1 argument(s).
Tenga en cuenta que esto contrasta con CHAR()
de MySQL función (que le permite proporcionar varios enteros).
Ejemplo 3:números enteros fuera de rango
Esta función tampoco admite números enteros fuera del rango de 1 a 255. Si su argumento está fuera de este rango, el resultado es NULL
.
He aquí un ejemplo:
SELECT CHAR(256) AS 'Result';
Resultado:
+----------+ | Result | |----------| | NULL | +----------+
Esto contrasta nuevamente con CHAR()
de MySQL función, que acepta números enteros mayores de 255 (en cuyo caso, se convierten automáticamente en múltiples bytes de resultado).
Ejemplo 4:inserción de caracteres de control
Aquí hay un ejemplo del uso de CHAR(13)
para imprimir caracteres posteriores en una nueva línea:
SELECT 'Homer' + CHAR(13) + '[email protected]' AS 'Name/Email';
Resultado:
+--------------+ | Name/Email | |--------------| | Homer [email protected] | +--------------+
Así es como se ve si eliminamos el CHAR(13)
:
SELECT 'Homer' AS 'Name', '[email protected]' AS 'Email';
Resultado:
+--------+-----------------------+ | Name | Email | |--------+-----------------------| | Homer | [email protected] | +--------+-----------------------+