Share via


CHAR (Transact-SQL)

Converte um código de ASCII int em um caractere.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

CHAR ( integer_expression )

Argumentos

  • integer_expression
    É um número inteiro de 0 a 255. NULL será retornado se a expressão de inteiro não estiver nesse intervalo.

Tipos de retorno

char(1)

Comentários

CHAR pode ser usado para inserir caracteres de controle em sequências de caracteres. A tabela a seguir mostra alguns caracteres de controle usados com frequência.

Caractere de controle

Valor

Tab

char(9)

Alimentação de linha

char(10)

Retorno de carro

char(13)

Exemplos

A. Usando ASCII e CHAR para imprimir valores ASCII de uma cadeia de caracteres

O exemplo a seguir imprime o valor e o caractere ASCII para cada caractere na cadeia de caracteres 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

Aqui está o conjunto de resultados.

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

78 N

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

101 e

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

119 w

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

32

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

77 M

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

111 o

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

111 o

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

110 n

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

B. Usando CHAR para inserir um caractere de controle

O exemplo a seguir usa CHAR(13) para imprimir o nome e o email de um funcionário em linhas separadas quando os resultados são retornados no 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

Aqui está o conjunto de resultados.

Ken Sanchez

ken0@adventure-works.com

(1 row(s) affected)