Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CHAR()-Beispiele in MySQL

In MySQL ist das CHAR() Die Funktion gibt das Zeichen für jede übergebene ganze Zahl zurück. Mit anderen Worten, Sie können eine oder mehrere Ganzzahlen übergeben, und die Funktion interpretiert diese als Codewerte für Zeichenfolgenzeichen und gibt die entsprechende Zeichenfolge für jeden Codewert zurück.

Syntax

Die Syntax lautet wie folgt:

CHAR(N,... [USING charset_name])

Wobei N,... ist eine oder mehrere ganze Zahlen und USING charset_name ist ein optionales Argument, mit dem Sie den zu verwendenden Zeichensatz angeben können.

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel, um die grundlegende Verwendung zu demonstrieren:

SELECT CHAR(67, 97, 116);

Ergebnis:

+-------------------+
| CHAR(67, 97, 116) |
+-------------------+
| Cat               |
+-------------------+

Wenn wir also eine der ganzen Zahlen ändern, erhalten wir einen anderen String:

SELECT CHAR(66, 97, 116);

Ergebnis:

+-------------------+
| CHAR(66, 97, 116) |
+-------------------+
| Bat               |
+-------------------+

Beispiel 2 – Die USING-Klausel

Hier ist ein Beispiel für das Hinzufügen von USING -Klausel zur Angabe der UTF-8-Codierung:

SELECT CHAR(0xc2a9 USING utf8);

Ergebnis:

+-------------------------+
| CHAR(0xc2a9 USING utf8) |
+-------------------------+
| ©                       |
+-------------------------+

Und hier ist ein weiteres Beispiel, in dem ich den Unicode-Codepunkt spezifiziere:

SELECT CHAR(0x027FE USING ucs2);

Ergebnis:

+--------------------------+
| CHAR(0x027FE USING ucs2) |
+--------------------------+
| ⟾                        |
+--------------------------+

Beispiel 3 – Mehrere Ergebnisbytes

Argumente größer als 255 werden in mehrere Ergebnisbytes umgewandelt. Hier ist ein Beispiel zur Veranschaulichung.

SELECT 
  HEX(CHAR(1,0)), 
  HEX(CHAR(256)),
  HEX(CHAR(1,1)), 
  HEX(CHAR(257));

Ergebnis:

+----------------+----------------+----------------+----------------+
| HEX(CHAR(1,0)) | HEX(CHAR(256)) | HEX(CHAR(1,1)) | HEX(CHAR(257)) |
+----------------+----------------+----------------+----------------+
| 0100           | 0100           | 0101           | 0101           |
+----------------+----------------+----------------+----------------+

Und wenn wir die Zahlen erhöhen:

SELECT 
  HEX(CHAR(7,0)), 
  HEX(CHAR(1792)),
  HEX(CHAR(7,7)), 
  HEX(CHAR(1799));

Ergebnis:

+----------------+-----------------+----------------+-----------------+
| HEX(CHAR(7,0)) | HEX(CHAR(1792)) | HEX(CHAR(7,7)) | HEX(CHAR(1799)) |
+----------------+-----------------+----------------+-----------------+
| 0700           | 0700            | 0707           | 0707            |
+----------------+-----------------+----------------+-----------------+