DECFLOAT スカラー関数
DECFLOAT 関数は、さまざまなデータ・タイプの値の 10 進浮動小数点表記を返します。
数値から 10 進浮動小数点
文字から 10 進浮動小数点
ブール値から 10 進浮動小数点
スキーマは SYSIBM です。
- numeric-expression
- 組み込み数値データ・タイプの値を戻す式。
- string-expression
- 文字定数の最大長以下の長さの文字ストリングまたは Unicode GRAPHIC ストリング表記の数値の値を戻す式。string-expression のデータ・タイプは、CLOB または DBCLOB にしてはなりません (SQLSTATE 42884)。前後のブランクはストリングから除去されます。この結果のサブストリングは大文字に変換され、整数、10 進数、浮動小数点数、または 10 進浮動小数点定数を形成するための規則に準拠していなければならず (SQLSTATE 22018)、さらに 42 バイト以下でなければなりません (SQLSTATE 42820)。
- boolean-expression
- ブール値 (TRUE または FALSE) を返す式。 結果は 1 (TRUE) または 0 (FALSE) です。
- 34 または 16
- 結果の精度の桁数を指定します。デフォルトは 34 です。
- decimal-character
- character-expression の小数部分と整数部分とを区切るために使用する 1 バイト文字定数を指定します。 この文字には、数字、プラス (+)、マイナス (-)、またはブランクを使用できず、 character-expression の中に最高で 1 回しか使用することができません。
結果
結果は、CAST(string-expression AS
DECFLOAT(n)) または CAST(numeric-expression AS
DECFLOAT(n)) の結果と同じ数値になります。先行ブランクと末尾のブランクは、ストリングから除去されます。
関数の結果は、精度の桁数を暗黙的または明示的に指定した 10 進浮動小数点数になります。 最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。 最初の引数が NULL であれば、結果は NULL 値になります。
必要な場合は、ソースはターゲットの精度に丸められます。 CURRENT DECFLOAT ROUNDING MODE 特殊レジスターは、丸めモードを決定します。
注
- アプリケーションの移植性の向上: 最初の引数が数値である、または最初の引数がストリングで長さ引数が指定されている場合、アプリケーションの移植性を高めるため、この関数ではなく、CAST 指定を使用してください。
- すべての数値は、整数、10 進数、または浮動小数点定数として解釈されてから、10 進浮動小数点数にキャストされます。浮動小数点定数を使用すると、丸めエラーの原因となるので、使用しないように強くお勧めします。代わりに、ストリングから、10 進浮動小数点数バージョンの DECFLOAT 関数を使用してください。
例
- 例 1: EMPLOYEE 表の EDLEVEL 列 (データ・タイプ = SMALLINT) の選択リストに DECFLOAT データ・タイプが必ず戻されるように EDLEVEL 関数を使用します。選択リストには、EMPNO 列も入れておいてください。
SELECT EMPNO, DECFLOAT(EDLEVEL,16) FROM EMPLOYEE - 例 2: 以下のステートメントは、データ・タイプ DECFLOAT の値 1 を返します。
values DECFLOAT(TRUE) - 例 3: 以下のステートメントは、データ・タイプ DECFLOAT の値 0 を返します。
values DECFLOAT(3>3)
