ホームページ  >  記事  >  データベース  >  mysql のキャスト関数と変換関数の使用法

mysql のキャスト関数と変換関数の使用法

伊谢尔伦
伊谢尔伦オリジナル
2016-11-24 16:03:271346ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。