@COLTEST
ファンクションでは、1つ以上の列条件を使用したテストによる条件演算を有効にします。条件が満たされた場合、@COLTEST
はTRUE
を返します。条件演算を実行するには、@IF
ファンクションを使用します。
構文
@COLTEST (source_column, test_condition [, test_condition] [, ...])
source_column
ソース列名。
test_condition
次の値が有効です。
PRESENT
列がソース・レコードに存在し、NULL
でないことを示します。変更されないがNULL
と同じではない列の値をデータベースが記録しない場合、列の値は失われることがあります。
NULL
列がソース・レコードに存在し、NULL
であることを示します。
MISSING
列がソース・レコードに存在しないこと示します。
INVALID
列がソース・レコードに存在するが無効なデータを含んでいることを示します。
例
次の例では、@IF
を使用して、ソース・レコードにBASE_SALARY
列が存在し(およびNULL
でなく)、かつ250000より大きい場合に、HIGH_SALARY
列に値をマップします。そうでない場合はNULL
が返されます。
HIGH_SALARY = @IF (@COLTEST (BASE_SALARY, PRESENT) AND BASE_SALARY > 250000, BASE_SALARY, @COLSTAT (NULL))
次の例では、AMT
列が欠落しているか無効の場合には0が返され、それ以外の場合にはAMT
の値が返されます。
AMOUNT = @IF (@COLTEST (AMT, MISSING, INVALID), 0, AMT)