DOUBLE_PRECISION または DOUBLE スカラー関数
DOUBLE_PRECISION 関数および DOUBLE 関数は、数値または数値のストリング表記のいずれかの倍精度浮動小数点表記を返します。
数値から DOUBLE へ
ストリングから DOUBLE へ
スキーマは SYSIBM です。
- 数値から DOUBLE へ
- numeric-expression
- 組み込み数値データ・タイプの値を戻す式。
結果は、引数が倍精度浮動小数点の列、 または変数に割り当てられた場合の結果と同じ数値になります。 引数の数値が倍精度浮動小数点の範囲内にない場合、エラーが戻されます (SQLSTATE 22003)。
- 組み込み数値データ・タイプの値を戻す式。
- ストリングから DOUBLE へ
- ストリング式
- FOR BIT DATA を含む、数値を表すストリングを戻す式。 この式のデータ・タイプは、CLOB、BLOB、または DBCLOB にしてはなりません (SQLSTATE 42884)。
結果は、
CAST(string-expression AS DOUBLE PRECISION)
ステートメントの結果と同じ数値です。 先行ブランクと末尾ブランクは削除されます。 その結果のストリングは、有効な数値定数を形成するための規則に従うものでなければなりません (SQLSTATE 22018)。 引数の数値が倍精度浮動小数点の範囲内にない場合、エラーが戻されます (SQLSTATE 22003)。
- FOR BIT DATA を含む、数値を表すストリングを戻す式。 この式のデータ・タイプは、CLOB、BLOB、または DBCLOB にしてはなりません (SQLSTATE 42884)。
関数の結果は倍精度浮動小数点数になります。 引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数が NULL であれば、結果は NULL 値です。
注
- CAST 指定 はアプリケーションの移植性を高めるために使用してください。
- FLOAT は DOUBLE_PRECISION および DOUBLE の同義語です。
- DOUBLE (string_expression) の SYSFUN バージョンは引き続き使用可能です。
例
EMPLOYEE 表を使用して、歩合がゼロではない従業員の給与と歩合の比率を計算します。 関係する列 (SALARY と COMM) のデータ・タイプは DECIMAL です。 結果が範囲外にならないようにするため、DOUBLE を SALARY に適用して、
除算が浮動小数点数で実行されるようにします。
SELECT EMPNO, DOUBLE(SALARY)/COMM
FROM EMPLOYEE
WHERE COMM > 0