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.