目次

Search

  1. はじめに
  2. 関数リファレンス
  3. 定数
  4. 演算子
  5. 日付
  6. 関数
  7. システム変数
  8. データ型リファレンス

関数リファレンス

関数リファレンス

計算におけるDecimal値とDouble値

計算におけるDecimal値とDouble値

計算結果が最大精度を超える値になる場合、DecimalとDoubleのデータ型を計算に使用すると、精度の損失が発生する可能性があります。
高精度を無効にすると、
データ統合
では、10進数値が倍精度浮動小数点数に変換されます。Decimal値が15桁を超える精度を持つ場合には、精度の損失が発生します。例えば、Decimal(20,0)を使って数値40012030304957666903を渡すマッピングがあるとします。高精度を無効にすると、
データ統合
は、10進数値を倍精度浮動小数点数に変換し、4.00120303049577 x 10
19
を渡します。
最大28桁の精度のDecimalデータ型をサポートするトランスフォーメーションでは、Decimalデータ型を使用し、高精度を有効にして、最大28桁の精度を確保します。
計算結果が、最大許容桁より大きい精度を持つ値にならない限り、精度の損失は発生しません。この場合、
データ統合
は、結果を倍精度浮動小数点数として格納します。
ルックアップ条件や結合条件など、等価条件で使用するデータにDoubleデータ型を使用しないでください。
次の表に、
データ統合
が、
[高精度を有効にする]
詳細セッションプロパティの設定内容に基づいて10進値を処理する方法を示します。
フィールドのデータ型
精度
高精度が無効
高精度が有効
Decimal
0~15
Decimal
Decimal
Decimal
15~28
Double
Decimal
Decimal
28より大きい
Double
Double
高精度を有効にすると、
データ統合
では式関数の数値定数が10進数に変換されます。高精度を有効にしない場合、
データ統合
では数値定数が倍精度浮動小数点数に変換されます。
数値の最大精度を、トランスフォーメーションに応じて、28または38桁よりも大きくすることができます。トランスフォーメーション関数を使用して計算またはトランスフォーメーションを実行する前に、大きい数字を切り詰めるか、丸めます。