CHAR (Transact-SQL)

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

Icono de vínculo a temasConvenciones 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

Tabulación

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.

USE AdventureWorks2008R2;
GO
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 fila afectada)