Compartir a través de


CHAR (Transact-SQL)

Convierte un código ASCII int en un carácter.

Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

CHAR ( integer_expression )

Argumentos

  • integer_expression
    Entero entre 0 y 255. Se devuelve NULL si la expresión de entero no se encuentra en este intervalo.

Tipos de valor devueltos

char(1)

Comentarios

CHAR se puede utilizar para insertar caracteres de control en cadenas de caracteres. En la siguiente tabla se muestran algunos caracteres de control utilizados con frecuencia.

Carácter de control

Valor

Tab

char(9)

Avance de línea

char(10)

Retorno de carro

char(13)

Ejemplos

A.Usar ASCII y CHAR para imprimir los valores ASCII de una cadena

En el siguiente ejemplo se imprimen el valor y el carácter ASCII de cada carácter de la cadena New Moon.

SET TEXTSIZE 0;
-- Create variables for the character string and for the current 
-- position in the string.
DECLARE @position int, @string char(8);
-- Initialize the current position and the string variables.
SET @position = 1;
SET @string = 'New Moon';
WHILE @position <= DATALENGTH(@string)
   BEGIN
   SELECT ASCII(SUBSTRING(@string, @position, 1)), 
      CHAR(ASCII(SUBSTRING(@string, @position, 1)))
   SET @position = @position + 1
   END;
GO

El conjunto de resultados es el siguiente.

----------- -

78 N

----------- -

101 e

----------- -

119 w

----------- -

32

----------- -

77 M

----------- -

111 o

----------- -

111 o

----------- -

110 n

----------- -

B.Usar CHAR para insertar un carácter de control

En el siguiente ejemplo se utiliza CHAR(13) para imprimir el nombre y la dirección de correo electrónico en líneas independientes cuando los resultados se devuelven en texto. En este ejemplo se usa la base de datos AdventureWorks2012.

SELECT p.FirstName + ' ' + p.LastName, + CHAR(13)  + pe.EmailAddress 
FROM Person.Person p JOIN Person.EmailAddress pe
ON p.BusinessEntityID = pe.BusinessEntityID
AND p.BusinessEntityID = 1;
GO

El conjunto de resultados es el siguiente.

Ken Sanchez

ken0@adventure-works.com

(1 row(s) affected)

Vea también

Referencia

+ (Concatenación de cadenas) (Transact-SQL)

Funciones de cadena (Transact-SQL)