CAST(expr AS type), CONVERT(expr,type), CONVERT(expr USING transcoding_name)
CAST() および CONVERT() 関数はひとつのタイプの値をもって、他のタイプの値を生成します。
その type は次の値のどれかになりえます :
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
BINARY は、BINARY データ タイプを持つストリングを生成します。これが比較に及ぼす影響については 項10.4.2. 「BINARY と VARBINARY タイプ」 をご覧ください。任意の長さ N が与えられた場合、BINARY(N) は、キャストが N バイト以下の引数を使用する原因となります。N バイトより短い値は、0x00 バイトで N の長さまでパッドされます。
CHAR(N) 句は、キャストが N 文字以下の引数を使用する原因になります。
CAST() および CONVERT(... USING ...) は標準の SQL シンタックスです。CONVERT() の非 USING フォームは ODBC シンタックスです。
USING を持つ CONVERT() は、異なる文字セット間のデータを変換するのに使用されます。MySQL では、符号化名は対応文字セット名と同じものです。例えば、このステートメントは、デフォルトの文字セットのストリング
'abc' を、utf8 文字セットの対応ストリングに変換します。
SELECT CONVERT('abc' USING utf8);