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.
condition : expression IS [ NOT ] NULL | expression compare expression | expression [ NOT ] BETWEEN expression AND expression | expression [ NOT ] LIKE pattern [ ESCAPE character ] | expression [ NOT ] IN ( string, ... ) | NOT condition | condition AND condition | condition OR condition | ( condition )
compare: = |> | < | >= | <= | <>
expression: constant | arithmetic-expression | rule-variable | ( expression ) | | rule-function ( expression, ... )
constant: integer | floating-point number | string | boolean
arithmetic-expression: numeric-constant | rule-variable | - arithmetic-expression | arithmetic-expression operator arithmetic-expression | ( arithmetic-expression ) | rule-function ( expression, ... )
numeric-constant: integer | floating-point number
integer: Eine Ganzzahl von -2**63 bis 2**63-1.
floating-point number: Eine Zahl in wissenschaftlicher Notation im Bereich von 2.2250738585072e-308 bis 1.79769313486231e+308.
string: Eine Abfolge von in Apostrophe gesetzten Zeichen. Ein Apostroph in einer Zeichenfolge wird durch eine Verdoppelung des Apostrophen dargestellt.
boolean: Eine Anweisung, die TRUE oder FALSE, T oder F, Y oder N, 1 oder 0 ist.
operator: + | - | * | /
rule-variable:
Siehe Regelvariablen.
rule-function:
Siehe Regelfunktionen.
BETWEEN Die BETWEEN-Bedingung kann als TRUE, FALSE oder UNKNOWN ausgewertet werden. Ohne das NOT-Schlüsselwort wird die Bedingung als TRUE ausgewertet, wenn expression 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 ] ( expression >= start-expression AND arithmetic-expression <= end-expr )
Beispiel:
age BETWEEN 15 AND 19
ist gleichwertig mit age >=15 AND age <= 19
age NOT BETWEEN 15 AND 19
ist gleichwertig mit age < 15 OR age > 19
.
IN Die IN-Bedingung wird nach folgenden Regeln ausgewertet:
TRUE, wenn expression nicht NULL ist und mindestens einem der Werte in der Liste entspricht.
UNKNOWN, wenn expression NULL und die Werteliste nicht leer ist oder wenn mindestens einer der Werte NULL ist und "expression" nicht gleich einem der anderen Werte ist.
FALSE, wenn keiner der Werte NULL und expression nicht gleich einem der Werte in der Liste ist.
Das Schlüsselwort NOT vertauscht TRUE und FALSE.
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 expression mit LIKE-Ausdruck übereinstimmt. Falls entweder der expression oder der LIKE-Ausdruck NULL ist, ist die 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:
Wildcard-Zeichen | Gefunden |
---|---|
_ (Unterstrich) | Ein Zeichen |
% (Prozent) | Eine Zeichenfolge mit null oder mehr Zeichen |
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 pattern aufzuheben. 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.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |