Puoi specificare letterali esadecimali
(o anche letterali binari
) utilizzando 0x
, x''
o X''
:
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Ma attenzione che il tipo restituito è una stringa binaria, quindi ogni byte è considerato un carattere. Puoi verificarlo con char_length
:
select char_length(0xC2A2)
Se vuoi UTF-8
stringhe invece, devi usare convert
:
select convert(0xC2A2 using utf8mb4)
E possiamo vedere che C2 A2
è considerato 1 carattere in UTF-8:
select char_length(convert(0xC2A2 using utf8mb4))
Inoltre, non devi preoccuparti dei byte non validi perché convert
li rimuoverà automaticamente:
select char_length(convert(0xC1A2 using utf8mb4))
Come si può vedere, l'output è 0
perché C1 A2
è una sequenza di byte UTF-8 non valida.