Share via


CHAR (Transact-SQL)

Convertit un code ASCII int en un caractère.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

CHAR ( integer_expression )

Arguments

  • integer_expression
    Entier compris entre 0 et 255. S'il n'est pas compris dans cette plage, la fonction retourne la valeur NULL.

Types de retour

char(1)

Notes

CHAR permet également d'insérer des caractères de contrôle dans une chaîne de caractères. Le tableau suivant répertorie quelques-uns des caractères de contrôle les plus utilisés.

Caractère de contrôle

Valeur

Tabulation

char(9)

Saut de ligne

char(10)

Retour chariot

char(13)

Exemples

A. Utilisation d'ASCII et CHAR pour imprimer les valeurs ASCII d'une chaîne

L'exemple suivant imprime la valeur et le caractère ASCII de chacun des caractères de la chaîne 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

Voici l'ensemble des résultats.

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

78 N

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

101 e

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

119 w

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

32

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

77 M

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

111 o

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

111 o

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

110 n

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

B. Utilisation de CHAR pour l'insertion d'un caractère de contrôle

L'exemple suivant utilise CHAR(13) pour imprimer le nom et l'adresse de messagerie d'un employé sur des lignes distinctes, lorsque les résultats sont retournés sous forme de texte.

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

Voici l'ensemble des résultats.

Ken Sanchez

ken0@adventure-works.com

(1 row(s) affected)