I MySQL, CHAR()
funktion returnerar tecknet för varje passerat heltal. Med andra ord kan du skicka in ett eller flera heltal, och funktionen kommer att tolka dessa som kodvärden för strängtecken och returnera motsvarande sträng för varje kodvärde.
Syntax
Syntaxen ser ut så här:
CHAR(N,... [USING charset_name])
Där N,...
är ett eller flera heltal, och USING charset_name
är ett valfritt argument som du kan använda för att ange vilken teckenuppsättning som ska användas.
Exempel 1 – Grundläggande användning
Här är ett exempel för att demonstrera den grundläggande användningen:
SELECT CHAR(67, 97, 116);
Resultat:
+-------------------+ | CHAR(67, 97, 116) | +-------------------+ | Cat | +-------------------+
Så om vi ändrar ett av heltalen får vi en annan sträng:
SELECT CHAR(66, 97, 116);
Resultat:
+-------------------+ | CHAR(66, 97, 116) | +-------------------+ | Bat | +-------------------+
Exempel 2 – ANVÄNDNINGSKlausulen
Här är ett exempel på hur du lägger till USING
sats för att specificera UTF-8-kodning:
SELECT CHAR(0xc2a9 USING utf8);
Resultat:
+-------------------------+ | CHAR(0xc2a9 USING utf8) | +-------------------------+ | © | +-------------------------+
Och här är ett annat exempel där jag anger unicode-kodpunkten:
SELECT CHAR(0x027FE USING ucs2);
Resultat:
+--------------------------+ | CHAR(0x027FE USING ucs2) | +--------------------------+ | ⟾ | +--------------------------+
Exempel 3 – Flera resultatbyte
Argument större än 255 konverteras till flera resultatbyte. Här är ett exempel att visa.
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 | +----------------+----------------+----------------+----------------+
Och om vi ökar siffrorna:
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 | +----------------+-----------------+----------------+-----------------+