- カテゴリ:
半構造化データ関数と構造化データ関数 (キャスト)
AS_DECIMAL , AS_NUMBER¶
オプションの精度とスケールを使用して、 VARIANT 値を固定小数点10進数にキャストします(浮動小数点値とは一致しない)。
AS_NUMBER は、 AS_DECIMALの同義語です。
- こちらもご参照ください。
構文¶
AS_DECIMAL( <variant_expr> [ , <precision> [ , <scale> ] ] )
AS_NUMBER( <variant_expr> [ , <precision> [ , <scale> ] ] )
引数¶
variant_expr
VARIANT型の値に評価される式です。
precision
保存する10進数の有効数字です。
scale
小数点以下の有効数字です。
使用上の注意¶
デフォルトの
precision
は38
であり、scale
は0
です。スケールを縮小するとこの関数は四捨五入され、範囲外エラーが発生する可能性があります。
例¶
これは、関数の使用方法を示しています。
テーブルとデータを作成します。
CREATE TABLE multiple_types ( binary1 VARIANT, date1 VARIANT, decimal1 VARIANT, time1 VARIANT, timestamp1 VARIANT ); INSERT INTO multiple_types (binary1, date1, decimal1, time1, timestamp1) SELECT TO_VARIANT(TO_BINARY('F0A5')), TO_VARIANT(TO_DATE('2018-10-10')), TO_VARIANT(TO_DECIMAL(1.23, 6, 3)), TO_VARIANT(TO_TIME('12:34:56')), TO_VARIANT(TO_TIMESTAMP_NTZ('2018-10-10 12:34:56')) ;クエリを実行します。
SELECT AS_DECIMAL(decimal1, 6, 3) AS "Decimal" FROM multiple_types;出力:
+---------+ | Decimal | |---------| | 1.230 | +---------+