Expression Operators
Expression operators can be either unary or binary, or can operate on either one or two expressions. Most operators are limited as to what kind of expressions they can operate with.
This table contains the possible kinds of expressions:
Expressions | Description |
---|---|
Scalar (scalarExpr) |
These expressions can be either of a known type (numeric, string, or date) or an unknown type (typeless) In the table below, if the expression type is given as scalarExpr, the expression can be any of these four types (numeric, string, date, or typeless). |
Numeric (numericExpr) |
These expressions evaluate using numeric values. These expressions are used to perform mathematic operations. If a string or typeless expression is supplied where a numeric expression is expected, the value is automatically converted into a numeric value. If that is not possible due to the presence of non-numeric characters, the current handler fails with an error. |
String (stringExpr) | These expressions are text-based sets of characters. They may include numbers, but if so, the numbers are treated as text characters, not numerals. If another type of expression is supplied where a string expression is expected, the value is automatically converted into a string representation. |
Date (dateExpr) | These expressions involve dates or parts of dates, including times such as 10:00 AM. |
Typeless (typelessExpr) | These expressions can be one of at least two different types. The way the system treats these expressions depends on the context in which the expression is used. |
Boolean (BooleanExpr) | These expressions consist of an OR conjunction of one or more AND conjunctions. |
To construct the expression, you can use the expression operators in this table in conjunction with the expressions and functions.
Operator | Purpose | Example |
---|---|---|
scalarExpr = scalarExpr | Is equal to | V(var) = 1 |
scalarExpr != scalarExpr scalarExpr <> scalarExpr |
Is not equal to | V(var) != 1 |
scalarExpr > scalarExpr | Is greater than | V(var) > 1 |
scalarExpr < scalarExpr | Is less than | V(var) < 1 |
scalarExpr >= scalarExpr | Is greater than or equal to | V(var) >= 1 |
scalarExpr <= scalarExpr | Is less than or equal to | V(var) <= 1 |
scalarExpr : list scalarExpr IN list |
Is in the list The list is enclosed in parentheses and the elements are separated by semi-colons. |
V(var) IN (1;2;3;4) "b" : ("a";"b";"c") |
scalarExpr !: list |
Is not in the list The list is enclosed in parentheses and the elements are separated by semi-colons. |
V(var) !: (1;2;3;4) |
BooleanExpr AND BooleanExpr | Boolean AND | V(var) = 1 AND V(var2) > 5 |
BooleanExpr OR BooleanExpr | Boolean OR | V(var) = 1 OR V(var2) > 5 |
NOT BooleanExpr | Boolean negation | NOT (V(var) = 1 OR V(var2) > 5) |
numericExpr + numericExpr | Addition | V(var) + 1 |
stringExpr + stringExpr | String concatenation | V(var) + "Item" |
numericExpr – numericExpr | Subtraction | V(var) – 1 |
–numericExpr | Unary negative | – V(var) |
numericExpr * numericExpr | Multiplication | V(var) * 5 |
numericExpr / numericExpr | Division | V(var) / 2 |
stringExpr LIKE stringExpr | String similarity using Windows client filtering syntax:
|
V(var) LIKE 'A*' |