@IF

Verwenden Sie die Funktion @IF, um einen von zwei Werten basierend auf einer Bedingung zurückzugeben. Sie können die Funktion @IF mit anderen Oracle GoldenGate-Funktionen verwenden, um ein bedingtes Argument zu starten, das auf eine oder mehrere Ausnahmebedingungen testet. Sie können die direkte Verarbeitung basierend auf den Ergebnissen des Tests durchführen. Sie können @IF-Anweisungen bei Bedarf verschachteln.

Syntax

@IF (<condition>, <value_if_non-zero>, <value_if-zero>)

<condition>

Ein gültiger bedingter Ausdruck oder eine gültige Oracle GoldenGate-Funktion. Verwenden Sie numerische Operatoren (z.B. =, > oder <) nur für numerische Vergleiche. Verwenden Sie für Zeichenvergleiche eine der Zeichenvergleichsfunktionen.

<value_if_non-zero>

Ein Wert ungleich Null wird als true betrachtet.

<value_if_zero>

Der Wert Null (0) wird als false betrachtet.

Beispiele

Beispiel 1

Im Folgenden wird nur ein Betrag zurückgegeben, wenn die Spalte AMT größer als Null ist. Andernfalls wird Null zurückgegeben.

AMOUNT_COL = @IF (AMT > 0, AMT, 0)

Beispiel 2

Im Folgenden wird WEST zurückgegeben, wenn die Spalte STATE CA, AZ oder NV lautet. Andernfalls wird EAST zurückgegeben.

REGION = @IF (@VALONEOF (STATE, 'CA', 'AZ', 'NV'), 'WEST', 'EAST')

Beispiel 3

Das folgende Ergebnis gibt das Ergebnis der Spalte PRICE multipliziert mit der Spalte QUANTITY zurück, wenn beide Spalten größer als

  1. Andernfalls erstellt die Funktion @COLSTAT (NULL) einen NULL-Wert in der Zielspalte.
ORDER_TOTAL = @IF (PRICE > 0 AND QUANTITY > 0, PRICE * QUANTITY,
@COLSTAT (NULL))

Beispiel 4

Das folgende Beispiel zeigt eine verschachtelte @IF-Anweisung. Wenn die QUANTITY im Beispiel größer als 10 ist, beträgt der Artikelpreis 90% der PRICE.

ORDER_TOTAL = @IF (PRICE > 0 AND QUANTITY > 0, @IF (QUANTITY > 10, (PRICE * 0.9) * QUANTITY, PRICE * QUANTITY), @COLSTAT(NULL))

Hinweis: Wenn die Oracle GoldenGate-Spaltenzuordnungsfunktion in Klammern () eingeschlossen ist, erwartet sie numerische Ergebnisse. Der Spaltenwert muss in einfachen Anführungszeichen angegeben werden.