SQL Academy
Premium
Funktionsreferenz

CHAR

Entsprechung in PostgreSQL:

Gibt einen String aus den Bytes mit den angegebenen Codes zurück.

MySQL 8.4
CHAR(num[, ...] [USING charset])
  • [ ]optionaler Teil
  • ...kann wiederholt werden
num
Bytewert; eine Zahl größer als 255 ergibt mehrere Bytes
INT
USING charset
Bytes als String im angegebenen Zeichensatz lesen; ohne USING ein binärer String
Optional
charset
Zeichensatz, zum Beispiel utf8mb4
Schlüsselwort
armscii8asciibig5binarycp1250cp1251cp1256cp1257cp850cp852cp866cp932dec8eucjpmseuckrgb18030gb2312gbkgeostd8greekhebrewhp8keybcs2koi8rkoi8ulatin1latin2latin5latin7maccemacromansjisswe7tis620ucs2ujisutf16utf16leutf32utf8mb3utf8mb4

Rückgabewert

Binärer String aus den Bytes der angegebenen Codes, bei USING ein String in diesem Zeichensatz; NULL-Argumente werden übersprungen

Beispiele

String aus Zeichencodes

MySQL 8.4
SELECT CHAR(72, 105);
CHAR(72, 105)
Hi

NULL unter den Codes überspringen

MySQL 8.4
SELECT CHAR(83, NULL, 81, 76);
CHAR(83, NULL, 81, 76)
SQL

Kyrillischer Buchstabe aus UTF-8-Bytes

MySQL 8.4
SELECT CHAR(208, 191 USING utf8mb4) AS letter;
letter
п

LOWER ändert einen binären String nicht

MySQL 8.4
SELECT LOWER(CHAR(72, 105)) AS binary_string,
	LOWER(CHAR(72, 105 USING utf8mb4)) AS text_string;
binary_stringtext_string
Hihi

Details

Ohne USING ist das Ergebnis ein binärer String (CHARSET(CHAR(72)) gibt binary zurück): Vergleiche damit laufen Byte für Byte und beachten Groß- und Kleinschreibung, und LOWER und UPPER ändern ihn nicht. Für normalen Text gib einen Zeichensatz an: CHAR(72, 105 USING utf8mb4).

Bei lateinischen Buchstaben, Ziffern und Satzzeichen stimmt der Code mit dem ASCII-Code überein, zum Beispiel ist 65 ein A. Jeder Code legt ein Byte fest, kein Zeichen: Ein kyrillischer Buchstabe belegt in utf8mb4 zwei Bytes, daher ist «п» CHAR(208, 191 USING utf8mb4). Ein Code größer als 255 wird mit mehreren Bytes geschrieben: CHAR(256) entspricht CHAR(1, 0).

Siehe auch