Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


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);

CHARACTER SET を指定せずに CAST() を使用した場合、文字セットと照合順序は character_set_connection および collation_connection システム変数で定義されます。CHARACTER SET X を指定して CAST() を使用した場合、文字セットはX、照合順序は X のデフォルト照合順序になります。

CONVERT() または CAST() 呼び出し内では COLLATE 句を使用できませんが、呼び出し外では使用できます。たとえば、CAST(... COLLATE ...) は無効ですが、CAST(...) COLLATE ... は有効です。

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

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.