Anda dapat menentukan literal heksadesimal
(atau bahkan literal biner
) menggunakan 0x
, x''
, atau X''
:
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Tapi berhati-hatilah bahwa tipe yang dikembalikan adalah string biner, sehingga setiap byte dianggap sebagai karakter. Anda dapat memverifikasi ini dengan char_length
:
select char_length(0xC2A2)
Jika Anda ingin UTF-8
string sebagai gantinya, Anda perlu menggunakan convert
:
select convert(0xC2A2 using utf8mb4)
Dan kita dapat melihat bahwa C2 A2
dianggap 1 karakter dalam UTF-8:
select char_length(convert(0xC2A2 using utf8mb4))
Juga, Anda tidak perlu khawatir tentang byte yang tidak valid karena convert
akan menghapusnya secara otomatis:
select char_length(convert(0xC1A2 using utf8mb4))
Seperti yang dapat dilihat, outputnya adalah 0
karena C1 A2
adalah urutan byte UTF-8 yang tidak valid.