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

CHAR() Esempi in MySQL

In MySQL, il CHAR() La funzione restituisce il carattere per ogni intero passato. In altre parole, puoi passare uno o più numeri interi e la funzione li interpreterà come valori di codice per i caratteri stringa e restituirà la stringa corrispondente per ogni valore di codice.

Sintassi

La sintassi è questa:

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

Dove N,... è uno o più numeri interi e USING charset_name è un argomento facoltativo che puoi utilizzare per specificare il set di caratteri da utilizzare.

Esempio 1 – Utilizzo di base

Ecco un esempio per dimostrare l'utilizzo di base:

SELECT CHAR(67, 97, 116);

Risultato:

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

Quindi, se cambiamo uno degli interi, otteniamo una stringa diversa:

SELECT CHAR(66, 97, 116);

Risultato:

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

Esempio 2 – La clausola USING

Ecco un esempio di aggiunta di USING clausola per specificare la codifica UTF-8:

SELECT CHAR(0xc2a9 USING utf8);

Risultato:

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

Ed ecco un altro esempio in cui specifico il punto di codice unicode:

SELECT CHAR(0x027FE USING ucs2);

Risultato:

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

Esempio 3 – Byte di risultati multipli

Gli argomenti più grandi di 255 vengono convertiti in più byte di risultati. Ecco un esempio da dimostrare.

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

Risultato:

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

E se aumentiamo i numeri:

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

Risultato:

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