## Selektieren von Datensätzen

Beim Importieren von Anwendungsdaten ist es möglich, die zu importierenden Datensätze inhaltlich zu selektieren.

Die dabei definierten Bedingungen können durch die Angabe von NOT negiert, mit AND und OR verbunden und beliebig geklammert werden. Der Loader wichtet die Operatoren dementsprechend.

### Syntax

<if_condition> ::= IF <condition>

<condition> ::= (<condition>)
| <condition> AND <condition>
| <condition> OR <condition>
| NOT <condition>
| <simple_condition>

<simple_condition> ::= POS <field_spec> <field_type> [HEX] <compare_operator> '<literal>'

<compare_operator> ::= < | > | = | <= | >= | !=

field_spec | Positionsbeschreibung
field_type | Datentypen
HEX | Sie können HEX-Werte definieren.
literal | Literal, das als Vergleichswert dient siehe auch: SQL-Referenzhandbuch, Literal (literal)

### Beispiele

IMPORT TABLE hotel.room
IF POS 06-11 = 'double'
DATA INSTREAM 'room_fwv.data' FWV
hno 01-05
type 06-11
free 12-15
price 16-22

Sie importieren nur jene Datensätze aus dem Quelldatenstrom room_fwv.data in die Zieltabelle ROOM, in denen als Zimmertyp double angegeben ist.

### Erläuterung

Der Loader unterscheidet zusammengesetzte Bedingungen und einfache Bedingungen (simple_condition). Es werden nur jene Sätze importiert, für die die zusammengesetzte oder einfache Bedingung zutrifft.

#### Zusammengesetzte Bedingungen

Bedingungen können mit NOT negiert oder mit AND und OR zu zusammengesetzten Bedingungen kombiniert und beliebig geklammert werden.

Operatoren in Klammern werden vor nicht geklammerten Operatoren ausgewertet.

Wenn keine Operatoren geklammert wurden, wichtet der Loader die Operatoren wie folgt:

● NOT bindet stärker als AND und OR

● AND bindet stärker als OR

● Bei gleicher Wichtung erfolgt die Auswertung von links nach rechts

#### Einfache Bedingungen

Sie definieren mit der einfachen Bedingung simple_condition das Selektionskriterium, mit dem festgelegt wird, welche Sätze des Datenstroms in welche Zieltabelle importiert werden. Die Selektion der zu importierenden Datensätze erfolgt durch den Vergleich mit einer Konstanten.

##### <field_spec>

Einen zu vergleichenden Wert im Datensatz beschreiben Sie wie die übrigen Felder eines Datensatzes durch seine Position.

##### <field_type>

Die Angabe des Datentyps ist nur dann erforderlich, wenn das betreffende Datenfeld mit einem anderen Datentyp als CHAR gelesen oder ausgegeben werden soll. Das Lesen bzw. die Ausgabe im CHAR-Datentyp ist für jedes datenbankinterne Spaltenformat möglich.

##### <literal>

Das angegebene Literal ist eine Konstante, die als Vergleichswert dienen soll. Geben Sie das Literal als Klartextwert an und schließen es in einfache Anführungszeichen ein. Dieser Wert wird in den Datentyp des zu vergleichenden Wertes im Datensatz umgewandelt.

Wenn das als Vergleichswert dienende Literal eine Zahl ist, muss sie ein gültiges Zahlenformat haben, also entweder eine Gleitkommazahl in Mantisse-/Exponent-Darstellung oder eine Festkommazahl mit der aktuell definierten oder im Loader voreingestellten Dezimaldarstellung sein.

Siehe auch:

IMPORT TABLE-Kommandos

IMPORT COLUMNS-Kommandos

UPDATE COLUMNS-Kommandos