sql >> Database >  >> RDS >> Mysql

CHAR() Voorbeelden in MySQL

In MySQL is de CHAR() functie retourneert het teken voor elk doorgegeven geheel getal. Met andere woorden, u kunt een of meer gehele getallen doorgeven, en de functie interpreteert deze als codewaarden voor tekenreeksen en retourneert de bijbehorende tekenreeks voor elke codewaarde.

Syntaxis

De syntaxis gaat als volgt:

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

Waar N,... is een of meer gehele getallen, en USING charset_name is een optioneel argument dat u kunt gebruiken om de te gebruiken tekenset te specificeren.

Voorbeeld 1 – Basisgebruik

Hier is een voorbeeld om het basisgebruik te demonstreren:

SELECT CHAR(67, 97, 116);

Resultaat:

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

Dus als we een van de gehele getallen veranderen, krijgen we een andere string:

SELECT CHAR(66, 97, 116);

Resultaat:

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

Voorbeeld 2 – De GEBRUIKSclausule

Hier is een voorbeeld van het toevoegen van de USING clausule om UTF-8-codering op te geven:

SELECT CHAR(0xc2a9 USING utf8);

Resultaat:

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

En hier is nog een voorbeeld waarbij ik het unicode-codepunt specificeer:

SELECT CHAR(0x027FE USING ucs2);

Resultaat:

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

Voorbeeld 3 – Meerdere resultaatbytes

Argumenten groter dan 255 worden omgezet in meerdere resultaatbytes. Hier is een voorbeeld om te demonstreren.

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

Resultaat:

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

En als we het aantal verhogen:

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

Resultaat:

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

  1. Hoe een lijst met tabellen te krijgen zonder primaire sleutelbeperking in SQL Server-database - SQL Server / T-SQL-zelfstudie, deel 58

  2. Structured Query Language – Het belang van het leren van SQL

  3. ORA-06502:PL/SQL:numerieke of waardefout:tekenreeksbuffer te klein

  4. Hoe BLOB- en CLOB-bestanden in MySQL in te voegen?