カテゴリ:

変換関数

CAST、 ::

あるデータ型の値を別のデータ型に変換します。CAST のセマンティクスは、対応する TO_ データ型 変換関数のセマンティクスと同じです。キャストが不可能な場合は、エラーが発生します。詳細については、個々の TO_ データ型 変換関数をご参照ください。

:: 演算子は、 CASTの代替構文を提供します。

こちらもご参照ください。

TRY_CAST

構文

CAST( <source_expr> AS <target_data_type> )

<source_expr> :: <target_data_type>

引数

ソース式

異なるデータ型に変換される、サポートされているデータ型の式です。

ターゲットデータ型

式を変換するデータ型です。データ型が、 精度やスケール (数値/小数用)などの追加のプロパティをサポートする場合は、プロパティを含めることができます。

使用上の注意

  • スケールが入力値を保持するのに十分でない場合、関数は値を丸めます。

  • 精度が入力値を保持するのに十分でない場合、関数はエラーを発生します。

数値を含む文字列を、指定されたスケール(2)で小数に変換します。

SELECT CAST('1.2345' AS DECIMAL(15,2));
+---------------------------------+
| CAST('1.2345' AS DECIMAL(15,2)) |
|---------------------------------|
|                            1.23 |
+---------------------------------+

:: 表記を使用して、同じ文字列をスケール5の小数に変換します。

SELECT '1.2345'::DECIMAL(15,5);
+-------------------------+
| '1.2345'::DECIMAL(15,5) |
|-------------------------|
|                 1.23450 |
+-------------------------+

数値を整数に変換します。

SELECT CAST(1.56 AS INTEGER);
+-----------------------+
| CAST(1.56 AS INTEGER) |
|-----------------------|
|                     2 |
+-----------------------+

日付を含む文字列をタイムスタンプに変換します。

SELECT CAST('05-Mar-2014' AS TIMESTAMP);
+----------------------------------+
| CAST('05-MAR-2014' AS TIMESTAMP) |
|----------------------------------|
| 2014-03-05 00:00:00.000          |
+----------------------------------+