CAST() を使用し、文字列を別のキャラクタセットに変換することもできます。新しい書式は以下のとおりです。
CAST ( character_string AS character_data_type
CHARACTER SET character_set_name )
例:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8);
COLLATE 節を CAST() の内部で使用することはできませんが、外部では使用することができます。したがって、CAST(... COLLATE ...) は無効ですが、CAST(...) COLLATE ... は有効です。
例:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
CAST() を CHARACTER SET の指定なしで使用した場合、キャラクタセットと照合順序は接続/リテラルキャラクタセットとそのデフォルト照合順序になります。CAST() を CHARACTER SET X の指定ありで使用した場合、キャラクタセットは X、照合順序は X のデフォルト照合順序になります。