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