CAST(expr AS type)

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. 「BINARYVARBINARY タイプ」 をご覧ください。任意の長さ 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);