In SQL Server das T-SQL CHAR()
Funktion konvertiert ein int ASCII-Code in einen Zeichenwert. Mit anderen Worten, Sie übergeben eine Ganzzahl, und die Funktion interpretiert sie als Codewert für ein Zeichenfolgenzeichen und gibt das entsprechende Zeichenfolgenzeichen zurück.
Syntax
Die Syntax lautet wie folgt:
CHAR ( integer_expression )
Wobei integer_expression
ist eine ganze Zahl von 0 bis 255.
Wenn Sie eine Ganzzahl außerhalb dieses Bereichs angeben, ist das Ergebnis NULL
. Dasselbe gilt, wenn Sie eine Ganzzahl angeben, die nur das erste Byte eines Doppelbyte-Zeichens ausdrückt.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel, um die grundlegende Verwendung zu demonstrieren:
SELECT CHAR(67) AS 'Result';
Ergebnis:
+----------+ | Result | |----------| | C | +----------+
Wenn wir also die Ganzzahl ändern, erhalten wir ein anderes Zeichen:
SELECT CHAR(255) AS 'Result';
Ergebnis:
+----------+ | Result | |----------| | ÿ | +----------+
Beispiel 2 – Mehrere ganze Zahlen
Diese Funktion unterstützt nicht mehrere ganze Zahlen als Argumente. Wenn Sie mehrere Ganzzahlen angeben, erhalten Sie eine Fehlermeldung.
Hier ist ein Beispiel:
SELECT CHAR(67, 255) AS 'Result';
Ergebnis:
The char function requires 1 argument(s).
Beachten Sie, dass dies im Gegensatz zu CHAR()
von MySQL steht -Funktion (mit der Sie mehrere Ganzzahlen angeben können).
Beispiel 3 – Ganzzahlen außerhalb des zulässigen Bereichs
Diese Funktion unterstützt auch keine Ganzzahlen außerhalb des Bereichs von 1 bis 255. Wenn Ihr Argument außerhalb dieses Bereichs liegt, ist das Ergebnis NULL
.
Hier ist ein Beispiel:
SELECT CHAR(256) AS 'Result';
Ergebnis:
+----------+ | Result | |----------| | NULL | +----------+
Dies steht wiederum im Gegensatz zu CHAR()
von MySQL Funktion, die ganze Zahlen größer als 255 akzeptiert (in diesem Fall werden sie automatisch in mehrere Ergebnisbytes umgewandelt).
Beispiel 4 – Einfügen von Steuerzeichen
Hier ist ein Beispiel für die Verwendung von CHAR(13)
um nachfolgende Zeichen in einer neuen Zeile auszugeben:
SELECT 'Homer' + CHAR(13) + '[email protected]' AS 'Name/Email';
Ergebnis:
+--------------+ | Name/Email | |--------------| | Homer [email protected] | +--------------+
So sieht es aus, wenn wir CHAR(13)
entfernen :
SELECT 'Homer' AS 'Name', '[email protected]' AS 'Email';
Ergebnis:
+--------+-----------------------+ | Name | Email | |--------+-----------------------| | Homer | [email protected] | +--------+-----------------------+