Du kan ange hexadecimala bokstaver
(eller till och med binära bokstaver
) med 0x , x'' , eller X'' :
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Men var medveten att returtypen är en binär sträng, så varje byte betraktas som ett tecken. Du kan verifiera detta med char_length :
select char_length(0xC2A2)
Om du vill ha UTF-8
strängar istället måste du använda konvertera
:
select convert(0xC2A2 using utf8mb4)
Och vi kan se att C2 A2 anses vara 1 tecken i UTF-8:
select char_length(convert(0xC2A2 using utf8mb4))
Dessutom behöver du inte oroa dig för ogiltiga byte eftersom konvertera kommer att ta bort dem automatiskt:
select char_length(convert(0xC1A2 using utf8mb4))
Som kan ses är utdata 0 eftersom C1 A2 är en ogiltig UTF-8-bytesekvens.