プライマリ・コンテンツに移動
Oracle® GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.1.2)
E49845-08
  目次へ移動
目次

前
 
次
 

COLTEST

@COLTESTファンクションでは、1つ以上の列条件を使用したテストによる条件演算を有効にします。条件が満たされた場合、@COLTESTTRUEを返します。条件演算を実行するには、@IFファンクションを使用します。

構文

@COLTEST (source_column, test_condition [, test_condition] [, ...])
source_column

ソース列名。

test_condition

次の値が有効です。

PRESENT

列がソース・レコードに存在し、NULLでないことを示します。変更されないがNULLと同じではない列の値をデータベースが記録しない場合、列の値は失われることがあります。

NULL

列がソース・レコードに存在し、NULLであることを示します。

MISSING

列がソース・レコードに存在しないこと示します。

INVALID

列がソース・レコードに存在するが無効なデータを含んでいることを示します。

例1   

次の例では、@IFを使用して、ソース・レコードにBASE_SALARY列が存在し(およびNULLでなく)、かつ250000より大きい場合に、HIGH_SALARY列に値をマップします。そうでない場合はNULLが返されます。

HIGH_SALARY =
@IF (@COLTEST (BASE_SALARY, PRESENT) AND
BASE_SALARY > 250000,
BASE_SALARY, @COLSTAT (NULL))
例2   

次の例では、AMT列が欠落しているか無効の場合には0が返され、それ以外の場合にはAMTの値が返されます。

AMOUNT = @IF (@COLTEST (AMT, MISSING, INVALID), 0, AMT)