Spec-Zone .ru
спецификации, руководства, описания, API
|
CONVERT()
обеспечивает
способ преобразовать данные между различными наборами символов. Синтаксис:
CONVERT(expr
USINGtranscoding_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
AScharacter_data_type
CHARACTER SETcharset_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;