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
CAST()
, but you may use it
outside. That is, CAST(... COLLATE
...)
is illegal, but CAST(...)
COLLATE ...
is legal.
Example:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
User Comments
Add your own comment.