目次

Search

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

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

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

MOD

MOD

除算の余りを返します。たとえば、
MOD(8,5)
は3を返します。

構文

MOD(
numeric_value
,
divisor
)
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
numeric_value
必須
数値データ型。割られる値(被除数)です。有効なトランスフォーメーション式を必要に応じて入力できます。
divisor
必須
割る値(除数)です。除数に0は指定できません。

戻り値

関数に渡したのと同じデータ型の数値。数値を除数で割った余りです。
関数にNULL値を渡した場合はNULLです。

次の式は、PRICEポートの値をQTYポートの値で割った余りを返します。
MOD( PRICE, QTY )
PRICE
QTY
RETURN VALUE
10.00
2
0
12.00
5
2
9.00
2
1
15.00
3
0
NULL
3
NULL
20.00
NULL
NULL
25.00
0
Error. Integration Service does not write row.
最後の行(25、0)は、除数を0にしたためにエラーとなりました。0での除算を防ぐために、次のような式を作成することができます。この式では、数量が0でないときに限り価格を数量で割った余りを返します。数量が0の場合、関数はNULLを返します。
MOD( PRICE, IIF( QTY = 0, NULL, QTY ))
PRICE
QTY
RETURN VALUE
10.00
2
0
12.00
5
2
9.00
2
1
15.00
3
0
NULL
3
NULL
20.00
NULL
NULL
25.00
0
NULL
最後の行(25、0)はエラーの代わりにNULLを返します。これは、IIF関数によってQTYポートの0がNULLに置き換えられたためです。