目次

Search

  1. はじめに
  2. トランスフォーメーション言語
  3. 定数
  4. 演算子
  5. 変数
  6. 日付
  7. 関数
  8. カスタム関数の作成
  9. カスタム関数APIリファレンス

トランスフォーメーション言語リファレンス

トランスフォーメーション言語リファレンス

ROUND(数値)

ROUND(数値)

数値を指定の桁数または小数点以下の桁数に丸めます。 また、ROUNDを使用して日付を丸めることもできます。

構文

ROUND(
numeric_value
[,
precision
] )
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
numeric_value
必須
数値データ型。有効なトランスフォーメーション式を必要に応じて入力できます。値を丸める前に、演算子を使用して算術演算を実行できます。
precision
オプション
正または負の整数。
正の<>precision</>を入力すると、関数は数値の小数点以下の桁数をこの値に丸めます。
たとえば、ROUND(12.99, 1)は13.0を返し、ROUND(15.44, 1)は15.4を返します。
負の<>precision</>を入力すると、関数は小数点の左側をこの桁数だけ丸めて、整数を返します。
たとえば、ROUND(12.99, -1)は10を返し、ROUND(15.99, -1)は20を返します。
小数の<>precision</>を入力すると、関数はこの値を最も近い整数に丸めてから、式を求めます。
たとえば、ROUND(12.99, 0.8)は13.0を返します。これは、0.8を1に丸めてから式を求めるからです。
>precision</>引数を省略すると、関数は数値を最も近い整数に丸めて、小数点以下を切り捨てます。
たとえば、ROUND(12.99)は13を返します。

戻り値

数値。
いずれかの引数がNULLの場合、ROUNDはNULLを返します。
戻り値が15桁を超える精度を持つ10進値である場合は、高精度を有効にして、最大38桁までの10進精度を使用可能にできます。

次の式は、Priceポートの値を小数点以下3桁に丸めた値を返します。
ROUND( PRICE, 3 )
PRICE
RETURN VALUE
12.9936
12.994
15.9949
15.995
-18.8678
-18.868
56.9561
56.956
NULL
NULL
>precision</>引数に負の整数を渡すことにより、小数点の左側を指定桁数に丸めることもできます。
ROUND( PRICE, -2 )
PRICE
RETURN VALUE
13242.99
13200.0
1435.99
1400.0
-108.95
-100.0
NULL
NULL
precision
引数に小数値を渡すと、
PowerCenter統合サービス
はそれを近似値の整数に丸めてから式を評価します。
ROUND( PRICE, 0.8 )
PRICE
RETURN VALUE
12.99
13.0
56.34
56.3
NULL
NULL
precision
引数を省略すると、関数は数値を最も近い整数に丸めます。
ROUND( PRICE )
PRICE
RETURN VALUE
12.99
13.0
-15.99
-16.0
-18.99
-19.0
56.95
57.0
NULL
NULL

ヒント

ROUNDを使用して、計算値の精度を明示的に設定し、期待した結果を得ることもできます。
PowerCenter統合サービス
が低精度モードで実行されている場合、値の精度が15桁を超えると計算結果を切り捨てます。 たとえば、低精度モードで以下の式を処理するとします。
7/3 * 3 = 7
この場合、
PowerCenter統合サービス
は最初の除算の結果を切り捨てるため、式の左辺から6.999999999999999を求めます。
PowerCenter統合サービス
は、式全体をFALSEと評価します。 これは期待した結果ではないかもしれません。
期待した結果を得るには、ROUNDを使って、式の左辺の切り捨て結果を、期待する結果に丸めます。
PowerCenter統合サービス
は、以下の式をTRUEと評価します。
ROUND(7/3 * 3) = 7