CHAR (Transact-SQL)
Convertit un code ASCII int en un caractère.
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)