機械翻訳について

論理演算のベスト・プラクティスおよびクイック・リファレンス

式を作成する際に論理演算を含めることができます。 ベスト・プラクティスおよび使用可能な論理演算のクイック・リファレンス表を示します。

ベスト・プラクティス

式で論理演算を使用する場合は、次のベスト・プラクティスに従ってください。

  • 計算された日付にはタイムスタンプ全体が含まれ、計算された数値には小数以下の数値も返されます。 計算された数値にはROUND関数を、計算された日付にはTRUNCを適切に使用してください。

  • 文字列を比較する際、大/小文字が一致して誤ったレスポンスを防止します。 必要に応じてUPPER関数またはLOWER関数を使用します。

  • null値を回避するには、NVL関数を使用します。

  • すべての論理演算(出力がブールのみの場合)の使用は、CHOICE文の入力条件内に制限されます。 これには、IS_GREATER、IS_LESS、IS_EQUAL、IS_NULL、NOT、IS_IN、IS_BETWEEN、AND、ORおよびIS_LIKEがあります。

  • 文字列が比較関数で使用される場合は、字句の順序で比較されます。 適切に使用してください。

  • 複数の入力を比較する際は、型を一致させます。 TO_NUMBER、TO_CHARまたはTO_DATE関数を必要に応じて使用します。

クイック・リファレンス

この表は、論理演算の構文、入力、引数、戻りデータ型および例を示しています。

構文

入力

戻りデータ型

CHOICE (条件1*, 値1*, 条件2, 値2, ...条件n, 値n, 値Z*)

  1. 条件1*: ブール

  2. 値1*: 文字列、日付または数値

  3. 条件2 ...n: ブール

  4. 値2 ...n: 文字列、日付または数値

  5. 値Z*: 文字列、日付または数値

文字列、数値または日付(値と同じ)

  1. CHOICE (IS_GREATER (Credit.Credit Amount, Measure.Target), Credit.Credit Amount, Measure.Target)

  2. CHOICE (IS_GREATER (Credit.Credit Amount, 1000), 1, IS_EQUAL (Credit.Credit Amount, TO_NUMBER(Measure result.All Product Sales.ITD Output Achieved)), 2, 3)

IS_EQUAL (値1*, 値2*)

  1. 値1*: 文字列、日付または数値

  2. 値2*: 文字列、日付または数値

ブール

  1. IS_EQUAL (Credit Category Name (12313331333), 'Servers')2. IS_EQUAL (Credit.Credit Amount, Measure.Target)

  2. IS_EQUAL (TO_DATE('1-Dec-2017'), TO_DATE('2-Dec-2017'))

IS_NULL (値*)

値*: 文字列、日付、数値またはブール

ブール

IS_NULL (Credit Category Name (12313331333)

IS_GREATER (値1*, 値2*)

  1. 値1*: 日付または数値

  2. 値2*: 日付または数値

ブール

  1. IS_GREATER (Credit.Credit Amount, Measure.Target)

  2. IS_GREATER (TO_DATE('11-Dec-2017'), TO_DATE('2-Dec-2017'))

IS_LESS (値1*, 値2*)

  1. 値1*: 日付または数値

  2. 値2*: 日付または数値

ブール

  1. IS_LESS (Credit.Credit Amount, Measure.Target)

  2. IS_LESS (TO_DATE('11-Dec-2017'), TO_DATE('2-Dec-2017'))

IS_BETWEEN (評価する値*, 最小値*, 最大値*)

  1. 評価する値*: 日付または数値

  2. 最小値*: 日付または数値

  3. 最大値*: 日付または数値

ブール

  1. IS_BETWEEN (Credit.Credit Amount, TO_NUMBER(Plan component result.Management Bonus.PTD Output Achieved), Measure.Target)

  2. IS_BETWEEN (TO_DATE('11-Dec-2017'), TO_DATE('2-Dec-2017'), TO_DATE('22-Dec-2017'))

AND (条件1*, 条件2, ...条件n)

  1. 条件1*: ブール

  2. 条件2*: ブール

  3. 条件3からn: ブール

ブール

AND (IS_GREATER (Credit.Credit Amount, Measure.Target), IS_EQUAL (Credit Category Name (12313331333), 'Servers'))

OR (条件1*, 条件2, ...条件n)

  1. 条件1*: ブール

  2. 条件2*: ブール

  3. 条件3からn: ブール

ブール

OR (IS_GREATER (Credit.Credit Amount, Measure.Target), IS_EQUAL (Credit Category Name (12313331333), 'Servers'))

NOT (条件*)

条件*: ブール

ブール

  1. NOT (IS_LESS (2000, TO_NUMBER (Measure result.All Product Sales.ITD Output Achieved))))

  2. NOT (IS_EQUAL (Credit Category Name (12313331333), 'Servers'))

IS_LIKE (値1*, 値2*)

  1. 値1*: 文字列または数値

  2. 値2*: 文字列または数値

ブール

  1. IS_LIKE (Credit Category Name (12313331333), 'Servers')

  2. IS_LIKE (120, '12%')

  3. IS_LIKE (UPPER(Participant.Currency Code), 'U%')

IS_IN (値*, 含まれる値1*, ...含まれる値n)

  1. 値*: 文字列、日付または数値

  2. 含まれる値1*: 文字列、日付または数値

  3. 含まれる値3からn: 文字列、日付または数値

ブール

  1. IS_IN (Credit Category Name (12313331333), 'Servers', 'Laptops', 'Desktops')

  2. IS_IN (Credit.Credit Amount, TO_NUMBER(Measure result.All Product Sales.ITD Output Achieved), Measure.Target, Measure.ITD Target)