Sie können hexadezimale Literale
angeben (oder sogar binäre Literale
) mit 0x
, x''
, oder X''
:
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Aber achten Sie darauf dass der Rückgabetyp eine binäre Zeichenfolge ist, sodass jedes einzelne Byte als Zeichen betrachtet wird. Sie können dies mit char_length
überprüfen :
select char_length(0xC2A2)
Wenn Sie möchten UTF-8
Zeichenfolgen müssen Sie stattdessen convert
:
select convert(0xC2A2 using utf8mb4)
Und wir können diesen C2 A2
sehen wird in UTF-8 als 1 Zeichen betrachtet:
select char_length(convert(0xC2A2 using utf8mb4))
Außerdem müssen Sie sich wegen convert
keine Gedanken über ungültige Bytes machen wird sie automatisch entfernen:
select char_length(convert(0xC1A2 using utf8mb4))
Wie man sieht, ist die Ausgabe 0
weil C1 A2
ist eine ungültige UTF-8-Bytesequenz.