SQL CAST 関数は主に、式をあるデータ型から別のデータ型に変換するために使用されます。 SQL Server CAST 関数が宣言を目的のデータ型に変換できない場合、この関数はエラーを返します。 CAST 関数を使用して、数値データを文字または文字列データに変換します。
構文:
CAST (expression AS [data type])
ここで、[データ型]はRDBMSで有効なデータ型の種類です。
構文は次のとおりです。
CAST (EXPRESSION AS Data_ Type[(Length)] _ _ CAST in the SQL example SELECT CAST (123 AS VARCHAR (20)) [result_name] FROM [Source]
デフォルトでは 30 です。
例:
ここでは、以下の表を使用します。
テーブルマネージャー_スコア
列名 | 日付の種類 |
---|---|
マネージャーID | 整数 |
ファーストネーム | 文字(20) |
スコア | 浮く |
テーブルには次の行が含まれています。
テーブルマネージャー_スコア
マネージャーID | ファーストネーム | スコア |
---|---|---|
1 | 初期化 | 92.2 |
2 | 豆 | 87.5 |
3 | 結婚する | 70 |
4 | サンジュ | 120.2 |
例 1:
SELECT First_Name, CAST (Score AS Integer) Int_Score FROM Student_Score;
結果:
ファーストネーム | Int_Score |
---|---|
初期化 | 92 |
豆 | 87 |
結婚する | 70 |
サンジュ | 120 |
で 例1 では、CAST 関数を使用して SCORE 列を FLOAT 型から INTEGER 型に変換しています。そうすると、各種RDBMSには小数点以下の数値を扱うためのルールがたくさんあります。
上記の例では、小数点以下が切り捨てられます。
例 2:
SELECT First_Name, CAST (Score AS char (3)) Char_Score FROM Student_Score;
結果:
ファーストネーム | Char__スコア |
---|---|
初期化 | 85. |
豆 | 92. |
結婚する | 90 |
サンジュ | 110 |
例 2 では、CAST 関数を使用して、 スコア 列を FLOAT 型から CHAR (3) 型に変更します。これを行うときは、最初の 3 文字だけを保持します。 3 文字を超える場合は、最初の 3 文字以降はすべて破棄されます。