Spec-Zone .ru
спецификации, руководства, описания, API
|
CONVERT()
provides a way
to convert data between different character sets. The syntax is:
CONVERT(expr
USINGtranscoding_name
)
In MySQL, transcoding names are the same as the corresponding character set names.
Examples:
SELECT CONVERT(_latin1'Müller' USING utf8);INSERT INTO utf8table (utf8column) SELECT CONVERT(latin1field USING utf8) FROM latin1table;
CONVERT(... USING ...)
is
implemented according to the standard SQL specification.
You may also use CAST()
to
convert a string to a different character set. The syntax is:
CAST(character_string
AScharacter_data_type
CHARACTER SETcharset_name
)
Example:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8);
If you use CAST()
without
specifying CHARACTER SET
, the resulting character set and collation are defined by
the character_set_connection
and collation_connection
system variables. If you use CAST()
with CHARACTER SET X
, the resulting
character set and collation are X
and the default collation of X
.
You may not use a COLLATE
clause inside a CONVERT()
or CAST()
call, but you may use it outside. For example, CAST(... COLLATE ...)
is illegal, but CAST(...) COLLATE ...
is legal:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;