sql >> Database teknologi >  >> RDS >> Mysql

CHAR() Eksempler i MySQL

I MySQL er CHAR() funktion returnerer tegnet for hvert heltal, der sendes. Med andre ord kan du indtaste et eller flere heltal, og funktionen vil fortolke dem som kodeværdier for strengtegn og returnere den tilsvarende streng for hver kodeværdi.

Syntaks

Syntaksen ser sådan ud:

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

Hvor N,... er et eller flere heltal, og USING charset_name er et valgfrit argument, som du kan bruge til at angive det tegnsæt, der skal bruges.

Eksempel 1 – Grundlæggende brug

Her er et eksempel for at demonstrere den grundlæggende brug:

SELECT CHAR(67, 97, 116);

Resultat:

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

Så hvis vi ændrer et af de heltal, får vi en anden streng:

SELECT CHAR(66, 97, 116);

Resultat:

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

Eksempel 2 – BRUG-klausulen

Her er et eksempel på tilføjelse af USING klausul for at specificere UTF-8-kodning:

SELECT CHAR(0xc2a9 USING utf8);

Resultat:

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

Og her er et andet eksempel, hvor jeg angiver unicode-kodepunktet:

SELECT CHAR(0x027FE USING ucs2);

Resultat:

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

Eksempel 3 – Flere resultatbytes

Argumenter større end 255 konverteres til flere resultatbytes. Her er et eksempel til at demonstrere.

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

Resultat:

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

Og hvis vi øger tallene:

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

Resultat:

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

  1. Sende liste<> til SQL Stored Procedure

  2. MySQL IKKE I forespørgsel

  3. Sådan ignoreres fejl med psql \copy meta-kommando

  4. SQL-fejl ORA-01722:ugyldigt nummer