Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » QAnywhere » QAnywhere-Referenz » QAnywhere-Übertragungs- und Löschregeln » Regelsyntax

 

Bedingungssyntax

QAnywhere verwendet eine SQL nachempfundene Syntax. Bedingungen werden durch Prüfung von Nachrichten im Nachrichtenspeicher bewertet. Eine Bedingung wird mit TRUE, FALSE oder UNKNOWN bewertet. Wenn eine Bedingung leer ist, werden alle Nachrichten als die Bedingung erfüllend beurteilt. Bedingungen können in Übertragungsregeln, Löschregeln und den QAnywhere-Programmierschnittstellen verwendet werden.

Schlüsselwörter und Zeichenfolgenvergleiche berücksichtigen nicht die Groß- und Kleinschreibung.

Syntax
Bedingung :
Ausdruck IS [ NOT ] NULL
| Ausdruck Vergleiche Ausdruck
| Ausdruck [ NOT ] BETWEEN Ausdruck AND Ausdruck 
| Ausdruck [ NOT ] LIKE Zeichenfolge [ ESCAPE Zeichen ]
| Ausdruck [ NOT ] IN ( Zeichenfolge, ...  ) 
| NOT Bedingung
| Bedingung AND Bedingung
| Bedingung OR Bedingung
| ( Bedingung )
Vergleiche: = |> | < | >= | <= | <>
Ausdruck:
Konstante
| Regelvariable
| -Ausdruck
| Ausdruck Operator Ausdruck
| ( Ausdruck )
| Regelfunktion ( Ausdruck, ... )
Konstante: Ganzzahl | Gleitkommazahl | Zeichenfolge | Boolesch
Ganzzahl: Eine Ganzzahl von -2**63 bis 2**63-1.
Gleitkommazahl: Eine Zahl in wissenschaftlicher Notation im Bereich von 2.2250738585072e-308 bis 1.79769313486231e+308.
Zeichenfolge: Eine Abfolge von in Apostrophe gesetzten Zeichen. Ein Apostroph in einer Zeichenfolge wird durch eine Verdoppelung des Apostrophen dargestellt.
Boolesch: Eine Anweisung, die TRUE oder FALSE, T oder F, Y oder N, 1 oder 0 ist.
Operator: + | - | * | /
Regelvariable: 

Weitere Hinweise finden Sie unter Regelvariable.

Regelfunktion: 

Weitere Hinweise finden Sie unter Regelfunktionen.

Parameter
  • BETWEEN   Die BETWEEN-Bedingung kann als TRUE, FALSE oder UNKNOWN ausgewertet werden. Ohne das NOT-Schlüsselwort wird die Bedingung als TRUE ausgewertet, wenn Ausdruck größer oder gleich dem Startausdruck und kleiner oder gleich dem Endausdruck ist.

    Das Schlüsselwort NOT kehrt die Bedeutung der Bedingung um, lässt UNKNOWN aber unverändert.

    Die BETWEEN-Bedingung ist gleichbedeutend mit einer Kombination aus zwei Ungleichheiten.

    [ NOT ] ( Ausdruck >= Startausdruck AND Arithmetischer_Ausdruck <= Endausdruck )
    

    Zum Beispiel:

    • age BETWEEN 15 AND 19 Diese Anweisung ist gleichwertig zu folgender age >=15 AND age <= 19

    • age NOT BETWEEN 15 AND 19 Diese Anweisung ist gleichwertig zu folgender age < 15 OR age > 19.

  • IN   Die IN-Bedingung wird nach folgenden Regeln ausgewertet:

    • TRUE, wenn Ausdruck nicht NULL ist und mindestens einem der Werte in der Liste entspricht.

    • UNKNOWN, wenn Ausdruck NULL und die Werteliste nicht leer ist oder wenn mindestens einer der Werte NULL ist und "Ausdruck" nicht gleich einem der anderen Werte ist.

    • FALSE, wenn keiner der Werte NULL und Ausdruck nicht gleich einem der Werte in der Liste ist.

    Das Schlüsselwort NOT vertauscht TRUE und FALSE.

    Zum Beispiel:

    • Country IN ( 'UK', 'US', 'France' ) ist TRUE für 'UK' und FALSE für 'Peru'. Es ist äquivalent mit dem Folgenden:

      ( Country = 'UK' )       \
      OR ( Country = 'US' )    \
      OR ( Country = 'France' )
    • Country NOT IN ( 'UK', 'US', 'France' ) ist FALSE für 'UK' und TRUE für 'Peru'. Es ist äquivalent mit dem Folgenden:

      NOT ( ( Country = 'UK' )         \
            OR ( Country = 'US' )      \
            OR ( Country = 'France' ) )

  • LIKE   Die LIKE-Bedingung kann als TRUE, FALSE oder UNKNOWN ausgewertet werden.

    Ohne das Schlüsselwort NOT wird die Bedingung als TRUE ausgewertet, wenn Ausdruck mit dem LIKE-Ausdruck übereinstimmt. Falls entweder der Ausdruck oder der LIKE-Ausdruck NULL ist, ist Bedingung UNKNOWN.

    Das Schlüsselwort NOT kehrt die Bedeutung der Bedingung um, lässt UNKNOWN aber unverändert.

    Der LIKE-Ausdruck kann beliebig viele Platzhalter enthalten. Die Platzhalter sind:

    Platzhalterzeichen Übereinstimmung
    _ (Unterstrich) Ein Zeichen
    % (Prozent) Eine Zeichenfolge mit null oder mehr Zeichen

    Zum Beispiel:

    • phone LIKE 12%3 ist TRUE für '123' oder '12993' und FALSE für '1234'.

    • word LIKE 's_d' ist TRUE für 'sad' und FALSE für 'said'.

    • phone NOT LIKE '12%3' ist FALSE für '123' oder '12993' und TRUE für '1234'.

  • ESCAPE CHARACTER   ESCAPE CHARACTER ist ein einzelnes Zeichenfolgenliteral, dessen Zeichen verwendet wird, um die besondere Bedeutung von Platzhalterzeichen (_, %) in Muster aufzuheben. Zum Beispiel:

    • underscored LIKE '\_%' ESCAPE '\' ist TRUE für '_myvar' und FALSE für 'myvar'.

  • IS NULL   Die IS NULL-Bedingung ergibt TRUE, wenn die Regelvariable UNKNOWN ist; ansonsten FALSE. Das Schlüsselwort NOT kehrt die Bedeutung der Bedingung um. Diese Bedingung kann nicht UNKNOWN ergeben.