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, 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)