CHAR (Transact-SQL)
Wandelt einen int-ASCII-Code in ein Zeichen um.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version). |
Transact-SQL-Syntaxkonventionen
Syntax
CHAR ( integer_expression )
Argumente
- integer_expression
Eine ganze Zahl zwischen 0 und 255. NULL wird zurückgegeben, wenn der ganzzahlige Ausdruck außerhalb dieses Bereichs liegt.
Rückgabetypen
char(1)
Hinweise
Mit CHAR können Steuerzeichen in Zeichenfolgen eingefügt werden. In der folgenden Tabelle finden Sie einige häufig verwendete Steuerzeichen.
Steuerzeichen |
Wert |
---|---|
Registerkarte |
char(9) |
Zeilenvorschub |
char(10) |
Wagenrücklauf |
char(13) |
Beispiele
A.Verwenden von ASCII und CHAR, um die ASCII-Werte einer Zeichenfolge auszugeben
Im folgenden Beispiel werden der ASCII-Wert und das Zeichen für jedes in der Zeichenfolge New Moon enthaltene Zeichen ausgegeben.
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
Dies ist das Resultset.
----------- -
78 N
----------- -
101 e
----------- -
119 w
----------- -
32
----------- -
77 M
----------- -
111 o
----------- -
111 o
----------- -
110 n
----------- -
B.Verwenden von CHAR, um ein Steuerzeichen einzufügen
Im folgenden Beispiel wird CHAR(13) verwendet, um den Namen und die E-Mail-Adresse eines Mitarbeiters in separaten Zeilen auszugeben, wenn die Ergebnisse in einem Text zurückgegeben werden. In diesem Beispiel wird die AdventureWorks2012-Datenbank verwendet.
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
Dies ist das Resultset.
Ken Sanchez
ken0@adventure-works.com
(1 row(s) affected)