MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie CHR() in MariaDB funktioniert

In MariaDB, CHR() ist eine integrierte Zeichenfolgenfunktion, die ein Zeichen basierend auf den als Argument bereitgestellten Codewerten zurückgibt.

Die CHR() Funktion ähnelt der CHAR() Funktion, außer dass CHR() akzeptiert nur ein einziges Argument. Der CHAR() Die Funktion hingegen akzeptiert ein oder mehrere Argumente. Auch CHAR() akzeptiert einen optionalen USING -Klausel, wohingegen CHR() nicht.

Die CHR() Funktion wurde in MariaDB 10.3.1 eingeführt, um Oracle-Kompatibilität bereitzustellen.

Syntax

Die Syntax lautet wie folgt:

CHR(N)

Wobei N ist der Wert, den CHR() hat interpretiert als Ganzzahl. CHR() gibt dann ein VARCHAR(1) zurück Zeichenfolge, die aus dem Zeichen besteht, das durch die Codewerte dieser Ganzzahl gegeben ist.

Der Zeichensatz und die Sortierung des Strings werden gemäß den Werten der character_set_database festgelegt und collation_database Systemvariablen.

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung:

SELECT CHR(65);

Ergebnis:

+---------+
| CHR(65) |
+---------+
| A       |
+---------+

Hier habe ich eine Ganzzahl und CHR() bereitgestellt gab das entsprechende Zeichen zurück. In diesem Fall die ganze Zahl 65 entspricht dem Großbuchstaben A .

Groß-/Kleinschreibung

Hier ist ein Beispiel, das einen Großbuchstaben von seinem Kleinbuchstaben unterscheidet:

SELECT 
    CHR(72),
    CHR(104);

Ergebnis:

+---------+----------+
| CHR(72) | CHR(104) |
+---------+----------+
| H       | h        |
+---------+----------+

Nullwerte

Ein Argument von null gibt NULL zurück .

Beispiel:

SELECT CHR(null);

Ergebnis:

+-----------+
| CHR(null) |
+-----------+
| NULL      |
+-----------+

Mehrere Argumente übergeben

Das Übergeben von mehr als einem Argument führt zu einem Fehler:

SELECT CHR(65, 77);

Ergebnis:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CHR'

Wenn Sie mehrere Argumente übergeben müssen, verwenden Sie CHAR() stattdessen.

Beispiel:

SELECT CHAR(65, 77);

Ergebnis:

+--------------+
| CHAR(65, 77) |
+--------------+
| AM           |
+--------------+