Referenz: |
Sie können viele verschiedene Operatoren in Ihre WHERE- und IF-Auswahltests aufnehmen. Viele der Operatoren sind für WHERE und IF üblich. Manche werden jedoch nur für WHERE-Tests unterstützt.
Sie können WHERE- und IF-Auswahlkriterien mit den folgenden Operatoren definieren.
WHERE-Operator |
IF-Operator |
Bedeutung |
---|---|---|
EQ IS |
EQ IS |
Testet auf Werte, die der Testformel gleich sind und wählt diese Werte aus. |
NE IS-NOT |
NE IS-NOT |
Testet auf Werte, die der Testformel nicht gleich sind und wählt diese Werte aus. |
GE |
GE FROM IS-FROM |
Testet auf Werte die größer oder gleich dem Testwert sind (basierend auf 0 bis 9 bei numerischen Werten und A bis Z sowie a bis z bei alphanumerischen Werten) und wählt diese aus. Der Testwert kann ein Feldwert sein oder das Ergebnis einer Formel. |
GT EXCEEDS IS-MORE-THAN |
GT EXCEEDS IS-MORE-THAN |
Testet auf Werte, die größer als der Testwert sind, und wählt diese Werte aus. |
LT IS-LESS-THAN |
LT IS-LESS-THAN |
Testet auf Werte, die kleiner als der Testwert sind, und wählt diese Werte aus. |
LE |
LE TO |
Testet auf Werte, die kleiner oder gleich dem Testwert sind, und wählt diese Werte aus. |
GE lower AND ... LE upper |
|
Testet auf Werte in einem Wertebereich und wählt sie aus. |
LT lower OR ... GT upper |
|
Testet auf Werte außerhalb eines Wertebereichs und wählt sie aus. |
FROM lower
TO upper |
|
Testet auf Werte in einem Wertebereich und wählt sie aus. |
IS-FROM lower TO upper |
IS-FROM lower TO upper |
Testet auf Werte in einem Wertebereich und wählt sie aus. Bei WHERE ist dies alternative Syntax für FROM lower to UPPER. Die Ergebnisse der beiden Operatoren sind identisch. |
NOT-FROM lower TO upper |
NOT-FROM lower TO upper |
Testet auf Werte außerhalb eines Wertebereichs und wählt sie aus. |
IS MISSING IS-NOT MISSING NE MISSING |
IS MISSING IS-NOT MISSING NE MISSING |
Testet, ob ein Feld fehlende Werte enthält. Wenn manche Instanzen des Feldes keine Daten enthalten, haben Sie fehlende Daten. Weitere Informationen über fehlende Daten finden Sie unter Datensätze mit fehlenden Feldwerten verarbeiten. |
CONTAINS LIKE |
CONTAINS LIKE |
Testet auf Werte, die eine Zeichenfolge enthalten, die dem Testwert entspricht. Die Zeichenfolge kann sich im Wert, der getestet wird, an beliebiger Stelle befinden. Wenn CONTAIN mit WHERE verwendet wird, kann es alphanumerische Felder testen. Wenn es mit IF verwendet wird, kann es sowohl alphanumerische Felder als auch Textfelder testen. |
OMITS NOT LIKE |
OMITS UNLIKE |
Testet auf Werte, die keine Zeichenfolge enthalten, die dem Testwert entspricht. Die Zeichenfolge darf sich im Wert, der getestet wird, an keiner Stelle befinden. Wenn OMITS mit WHERE verwendet wird, kann es alphanumerische Felder testen. Wenn es mit IF verwendet wird, kann es sowohl alphanumerische Felder als auch Textfelder testen. |
INCLUDES |
INCLUDES |
Testet, ob eine Wertekette eines gegebenen Feldes in einem untergeordneten Segment alle Literale einer Literalliste enthält. |
EXCLUDES |
EXCLUDES |
Testet, ob eine Wertekette eines gegebenen Feldes in einem untergeordneten Segment alle Literale einer Literalliste ausschließt. |
IN (z,x,y) |
|
Wählt Datensätze basierend auf den Werten aus, die sich in einer ungeordneten Liste befinden. |
NOT ... IN
(z,x,y) |
|
Wählt Datensätze basierend auf den Werten aus, die sich nicht in einer ungeordneten Liste befinden. |
IN FILE |
|
Wählt Datensätze basierend auf Werten aus, die in einer sequentiellen Datei gespeichert sind. |
NOT ... IN FILE |
|
Wählt Datensätze mit Feldwerten aus, die in einer sequentiellen Datei nicht enthalten sind. |
In den folgenden Beispielen sind Feldauswahlkriterien zu sehen, die einen oder mehrere Werte verwenden. Sie können die folgenden Operatoren verwenden: EQ, IS, IS-NOT, EXCEEDS, IS-LESS-THAN und IN.
Beispiel 1: Das Feld LAST_NAME muss dem Wert JONES entsprechen:
WHERE LAST_NAME EQ 'JONES'
Beispiel 2: Das Feld LAST_NAME fängt mit 'CR' oder 'MC' an:
WHERE EDIT (LAST_NAME, '99') EQ 'CR' OR 'MC'
Beispiel 3: Das Feld AREA darf dem Wert EAST oder WEST nicht entsprechen:
WHERE AREA IS-NOT 'EAST' OR 'WEST'
Beispiel 4: Der Wert des Feldes AREA muss dem Wert des Feldes REGION entsprechen:
WHERE AREA EQ REGION
Beachten Sie, dass Sie in einem IF-Test zwei Felder nicht miteinander vergleichen können.
Beispiel 5: Das Verhältnis zwischen Verbraucherpreis und Händlerpreis muss mehr als 1,25 betragen:
WHERE RETAIL_COST/DEALER_COST GT 1.25
Beispiel 6: Das Feld UNITS muss kleiner oder gleich dem Wert 50 sein und AREA darf weder NORTH EAST noch WEST entsprechen. Beachten Sie, dass NORTH EAST in einfache Anführungszeichen gesetzt ist. Alle alphanumerischen Zeichenfolgen müssen in einfache Anführungszeichen gesetzt werden.
WHERE UNITS LE 50 WHERE AREA IS-NOT 'NORTH EAST' OR 'WEST'
Beispiel 7: Der Wert von AMOUNT muss größer als 40 sein:
WHERE AMOUNT EXCEEDS 40
Beispiel 8: Der Wert von AMOUNT muss kleiner als 50 sein:
WHERE AMOUNT IS-LESS-THAN 50
Beispiel 9: Der Wert von SALES muss einem der numerischen Werte in der ungeordneten Liste entsprechen. Verwenden Sie Kommas oder Leerzeichen, um die Werte in der Liste zu trennen.
WHERE SALES IN (43000,12000,13000)
Beispiel 10: Der Wert von CAR muss einem der alphanumerischen Werte in der ungeordneten Liste entsprechen. Alphanumerische Listenwerte müssen in einfache Anführungszeichen gesetzt werden.
WHERE CAR IN ('JENSEN','JAGUAR')
In diesem Beispiel wird das Feld REGION im WHERE-Test als Variable verwendet, so dass der Benutzer, wenn der Report ausgeführt wird, aufgerufen wird, einen der aufgelisteten Werte des Feldes REGION (CE, CORP, NE, SE oder WE) auszuwählen. Der Text, der nach den Werten angezeigt wird, wird in der Ausgabe vor der Dropdown-Liste angezeigt.
TABLE FILE EMPDATA SUM SALARY BY DIV BY DEPT HEADING "Current Salary Report" "for the ®ION Division" " " WHERE ( DIV EQ '®ION.(CE,CORP,NE,SE,WE).Please select a Region.'); END
Die Ausgabe ist:
Wählen Sie in der Dropdown-Liste eine Region aus und klicken Sie auf Senden. Die Ausgabe für die Region NE ist:
WebFOCUS |