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