Můžete zadat hexadecimální literály
(nebo dokonce binární literály
) pomocí 0x , x'' , nebo X'' :
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Ale pozor že návratový typ je binární řetězec, takže každý bajt je považován za znak. Můžete to ověřit pomocí char_length :
select char_length(0xC2A2)
Pokud chcete UTF-8
strings, musíte místo toho použít convert
:
select convert(0xC2A2 using utf8mb4)
A můžeme vidět, že C2 A2 je považován za 1 znak v UTF-8:
select char_length(convert(0xC2A2 using utf8mb4))
Také se nemusíte starat o neplatné bajty, protože konvertovat automaticky je odstraní:
select char_length(convert(0xC1A2 using utf8mb4))
Jak je vidět, výstup je 0 protože C1 A2 je neplatná bajtová sekvence UTF-8.