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.

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)

Types de retour

char(1)

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, l'adresse de messagerie et le numéro de téléphone sur des lignes distinctes, lorsque les résultats sont retournés sous forme de texte.

USE AdventureWorks;
GO
SELECT FirstName + ' ' + LastName, + CHAR(13)  + EmailAddress + CHAR(13) 
+ Phone
FROM Person.Contact

WHERE ContactID = 1;
GO

Voici l'ensemble des résultats. 

Gustavo Achong
gustavo0@adventure-works.com
398-555-0132

(1 row(s) affected)

Voir aussi

Référence

+ (Concaténation de chaîne) (Transact-SQL)
Fonctions de chaîne (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005