Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Prädikat


Prädikate sind die Bestandteile von Suchbedingungen (siehe Abschnitt „Suchbedingung" ).

Ein Prädikat besteht aus Operanden und Operatoren. Entsprechend den Operatoren sind Prädikate in folgende Gruppen unterteilt:

  • Vergleich von zwei Zeilen

  • Quantifizierter Vergleich (Vergleich mit den Zeilen einer Tabelle)

  • BETWEEN-Prädikat (Bereichsabfrage)

  • CASTABLE-Prädikat (Konvertierbarkeit prüfen)

  • IN-Prädikat (Elementabfrage)

  • LIKE-Prädikat (einfacher Mustervergleich)

  • LIKE_REGEX-Prädikat (Mustervergleich mit regulären Ausdrücken)

  • NULL-Prädikat (Vergleich auf NULL-Wert)

  • EXISTS-Prädikat (Existenzabfrage)

Die einzelnen Gruppen sind im Folgenden in der obigen Reihenfolge beschrieben.

Ein Prädikat liefert den Wahrheitswert wahr, falsch oder unbestimmt. Der Wert eines Prädikats wird berechnet, indem die Werte der Operanden berechnet werden und die jeweiligen Operatoren auf die berechneten Werte angewendet werden. In bestimmten Fällen wird ein Operand nicht oder nur teilweise berechnet, falls das zur Bestimmung des Ergebnisses ausreicht.


In der folgenden Übersicht ist die Syntax aller Prädikate in vereinfachter Form zusammengestellt:


praedikat ::=

{
   zeile vergleichs_op zeile |

   vektor_spalte vergleichs_op ausdruck |

   zeile vergleichs_op { ALL | SOME | ANY } unterabfrage |

   zeile [NOT] BETWEEN zeile AND zeile |

   vektor_spalte [NOT] BETWEEN ausdruck AND ausdruck |

   ausdruck IS [NOT] CASTABLE AS datentyp |

   zeile [NOT] IN { unterabfrage | ( zeile ,...) } |

   vektor_spalte [NOT] IN ( ausdruck , ausdruck ,...) |

   operand [NOT] LIKE muster [ESCAPE zeichen ...] |

   operand [NOT] LIKE_REGEX regulärer_ausdruck [FLAG modifikatoren ] |

   ausdruck IS [NOT] NULL |

 EXISTS unterabfrage

}


zeile ::= { ( ausdruck ,...) | ausdruck | unterabfrage }
vektor_spalte ::= [ tabelle .]{ spalte[min..max] | spalte ( min..max ) }
vergleichs_op ::= { = | < | > | <= | >= | <> }
operand ::= ausdruck
muster ::= ausdruck
zeichen ::= ausdruck
regulärer_ausdruck ::= ausdruck
modifikatoren ::= ausdruck