Puede especificar literales hexadecimales
(o incluso literales binarios
) usando 0x , x'' , o X'' :
select 0xC2A2;
select x'C2A2';
select X'C2A2';
Pero ten cuidado que el tipo de retorno es una cadena binaria, por lo que todos y cada uno de los bytes se consideran un carácter. Puede verificar esto con char_length :
select char_length(0xC2A2)
Si quieres UTF-8
cadenas en su lugar, debe usar convert
:
select convert(0xC2A2 using utf8mb4)
Y podemos ver que C2 A2 se considera 1 carácter en UTF-8:
select char_length(convert(0xC2A2 using utf8mb4))
Además, no tiene que preocuparse por los bytes no válidos porque convert los eliminará automáticamente:
select char_length(convert(0xC1A2 using utf8mb4))
Como puede verse, la salida es 0 porque C1 A2 es una secuencia de bytes UTF-8 no válida.