Conditional expressions

A conditional expression is a logical expression that returns True or False.

When specifying the expression, you must enclose the expression in parenthesis: (expression)

The expression consists of operands and operators, where operands can also be an expression:

  • Expression = (Operand_A operator Operand_B)
  • Operand_A, Operand_B = constant (integer/float/string), property, expression
  • Operator = comparison operator or range operator
  • Range operands a and b refer to constant (integer/float/string) of the table field
Note: For the property names that you can use in conditional expressions, see the API documentation (Swagger documentation) in API Gateway.

This table shows the comparison operators you can use in the expression:

= Equal to
<> Not equal to
!= Not equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to

This table shows the range definition:

[a..b] Range between a and b, including both a and b
[a..b> Range between a and b, including a and excluding b
<a..b] Range between a and b, excluding a and including b
<a..b> Range between a and b, excluding both a and b
in Exists in a set or a range
not in Does not exist in a set or a range
Note: String literals must be single or double quoted.

This table shows some examples:

(A != 9.0) True if A does not equal 9.0
(A <= “Davies”) True if A is less than or equal to “Davies”
(A in [3.4..8.10]) True if A is in the range 3.4 to 8.10
(A in [3..8>) True if A is in the range 3 to 8, excluding value 8 itself.`

You can use commas to specify a set of values.

This table shows some examples:

(A in [a,b]) True if A is equal to a or b
(A in [a,b,e,f,z]) True if A is equal to a, b, e, f, or z

You can logically combine conditional expressions into compound boolean (and, or) or arithmetic (+, -, *, /) expressions.

This table shows some examples:

((A in [3.4..8]) and (B > 2)) True if A is in the range 3.4 to 8 and B is greater than 2
(B in <”Brown”..”Miller”]) True if B is in the range 'Brown' to 'Miller', excluding the value 'Brown' itself
(((A <> 6) and (B >= 9)) or (C <= 7)) True in these two situations:
  • A is not equal to 6 and B is greater than or equal to 9
  • C is less than or equal to 7

To define null values in a condition, for example for a datetime datatype, the NULL value is: 1970-01-01T00:00:00Z.

Note: Syntactic care must be taken when forming the condition.

This table shows some examples that are syntactically incorrect:

A = 12 Expression must be enclosed in ( )
(A = 1,2,3 ) Expression is true if A has value 1,2,3

Expression does not mean that A is either 1, or 2, or 3

(A in [(V1),(V2)]) Use of parenthesis to enclose the value
(A = 1 , B = 2 ) Multiple expressions must be combined with and/or operation
(A = 1 B = 2 ) Multiple expressions must be combined with and/or operation
(A = 1 / B = 2 ) Multiple expressions must be combined with and/or operation
(A in <1 , 2> ) Set must be represented in [ ]
(A in <1 , 2] ) Set must be represented in [ ]
(A in [1 , 2> ) Set must be represented in [ ]
(A in [2,]) Missing value in set
(A in [1, 2, 15..20 ] ) Combined set and range should be constructed using separate expressions
(A in [1..5, 11..20 ]) Combined set and range should be constructed using separate expressions
(!A) Invalid use of operation ‘!’. A valid combination is ‘!=’
(A !< B) Invalid use of operation ‘!’. A valid combination is ‘!=’
(A not = B) Invalid use of ‘not’. Use 'not' only with set/range comparison
(not A) Invalid use of ‘not’. Use 'not' only with set/range comparison