Spec-Zone .ru
спецификации, руководства, описания, API

10.1.9.2. CONVERT() иCAST()

CONVERT() обеспечивает способ преобразовать данные между различными наборами символов. Синтаксис:

CONVERT(expr USING transcoding_name)

В MySQL транскодирующие имена являются тем же самым как соответствующими именами набора символов.

Примеры:

SELECT CONVERT(_latin1'Müller' USING utf8);INSERT INTO utf8table (utf8column)    SELECT CONVERT(latin1field USING utf8) FROM latin1table;

CONVERT(... USING ...) реализуется согласно стандартной спецификации SQL.

Можно также использовать CAST() преобразовать строку в различный набор символов. Синтаксис:

CAST(character_string AS character_data_type CHARACTER SET charset_name)

Пример:

SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8);

Если Вы используете CAST() без определения CHARACTER SET, получающийся набор символов и сопоставление определяются character_set_connection и collation_connection системные переменные. Если Вы используете CAST() с CHARACTER SET X, получающийся набор символов и сопоставление X и сопоставление значения по умолчанию X.

Вы не можете использовать a COLLATE пункт внутри a CONVERT() или CAST() вызовите, но можно использовать это снаружи. Например, CAST(... COLLATE ...) недопустимо, но CAST(...) COLLATE ... является законным:

SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;