CAST()
Você também pode usar CAST()
para converter uma string para um conjunto de caracteres diferente. O novo formato é:
CAST ( character_string AS character_data_type CHARACTER SET character_set_name )
Exemplo:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8);
Você não usar uma cláusula COLLATE
dentro de um CAST()
, mas você pode usá-la fora, isto é, CAST(... COLLATE ...)
é ilegal mas CAST(...) COLLATE ...
é permitido.
Exemplo:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
Se você usar CAST()
sem especificar CHARACTER SET
, então o conjunto de caracteres e collation resultante são o conjunto de caracteres da conexão/literal e a sua collation padrão. Se você usar CAST()
com CHARACTER SET X
, então o conjunto de caracteres resultante é X
e a collation resultante é a collation padrão de X
.