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 | +----------------+-----------------+----------------+-----------------+