Du kan angive hexadecimale bogstaver
(eller endda binære bogstaver
) ved hjælp af 0x
, x''
eller X''
:
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Men vær opmærksom at returtypen er en binær streng, så hver eneste byte betragtes som et tegn. Du kan bekræfte dette med char_length
:
select char_length(0xC2A2)
Hvis du ønsker UTF-8
strenge i stedet, skal du bruge konverter
:
select convert(0xC2A2 using utf8mb4)
Og vi kan se, at C2 A2
betragtes som 1 tegn i UTF-8:
select char_length(convert(0xC2A2 using utf8mb4))
Du behøver heller ikke bekymre dig om ugyldige bytes, fordi konverter
vil fjerne dem automatisk:
select char_length(convert(0xC1A2 using utf8mb4))
Som det kan ses, er outputtet 0
fordi C1 A2
er en ugyldig UTF-8-bytesekvens.