MySQL の CAST() 関数と CONVERT() 関数を使用すると、ある型の値を取得し、別の型の値を生成できます。 2 つの具体的な構文は次のとおりです:
CAST(value as type); CONVERT(value, type);
は CAST (xxx AS type)、CONVERT (xxx, type) です。
変換できる種類は限られています。この型は、次の値のいずれかになります:
Binary、バイナリ接頭辞の効果: BINARY
文字型、パラメータを取ることができます: CHAR()
Date: DATE
Time: TIME
Date time 型: DATETIME
浮動小数点: DECIMAL
整数: SIGNED
符号なし整数: UNSIGNED 以下にいくつかの例を示します:
例 1
mysql> SELECT CONVERT('23',SIGNED); +----------------------+ | CONVERT('23',SIGNED) | +----------------------+ | 23 | +----------------------+ 1 row in set
例 2
mysql> SELECT CAST('125e342.83' AS signed); +------------------------------+ | CAST('125e342.83' AS signed) | +------------------------------+ | 125 | +------------------------------+ 1 row in set
例 3
mysql> SELECT CAST('3.35' AS signed); +------------------------+ | CAST('3.35' AS signed) | +------------------------+ | 3 | +------------------------+ 1 row in set
上記の例のように、変換するにはvarchar を int に変換するには、cast(a as signed) を使用します。ここで、a は varchar 型の文字列です。
例 4
SQL Server で、次のコードは、datetime 変数に単純な日付と単純な時刻のみが含まれる場合の、日付格納の 16 進格納結果を示します。
DECLARE @dt datetime --单纯的日期 SET @dt='1900-1-2' SELECT CAST(@dt as binary(8)) --结果: 0x0000000100000000 --单纯的时间 SET @dt='00:00:01' SELECT CAST(@dt as binary(8)) --结果: 0x000000000000012C
MySQL の型変換は SQL Server の型変換と同じですが、型パラメータが少し異なります: CAST(xxx AS type)、CONVERT(xxx, type)。