Show Menu
ARGOMENTI×

Operators

There are two kinds of operators: unary operators and binary operators. There are left-hand unary operators and right-hand unary operators.
    // left-hand unary operators
    <operator> <operand> // operand is an expression
    not (@{LobbyBeacon.endUserIDs._experience.emailid.id}=="example@adobe.com")

    // right-hand unary operators
    <operand> <operator> // operand is an expression
    @{LobbyBeacon.endUserIDs._experience.emailid.id} is not null

    // binary operators
    <operand1> <operator> <operand2>
    (@{LobbyBeacon.endUserIDs._experience.emailid.id}=="example1@adobe.com") or
    (@{LobbyBeacon.endUserIDs._experience.emailid.id}=="example2@adobe.com")

Here is the list of supported operators:

Logical

Operator Literal Expression Example
and
<expression1> and <expression2>

Both <expression1> and <expression2> must be boolean. The result is boolean.
3.14 > 2 and 3.15 < 1

or
<expression1> or <expression2>

Both <expression1> and <expression2> must be boolean.
The result is boolean.
3.14 > 2 or 3.15 < 1

not
not <expression>

<expression> must be boolean.
The result is boolean.
not 3.15 < 1

Comparison

Operator Literal Expression Example
is null
<expression> is null

The result is boolean.
Note that null means the expression has no evaluated value.
@{BarBeacon.location} is null

is not null
<expression> is not null

The result is boolean.
Note that null means the expression has no evaluated value.
@ is not null

has null
<expression> has null

<expression> must be a list.
The result is boolean.
Useful to identify that a list contains at least one null value.
["foo", "bar", null] has null

returns true
["foo", "bar", ""] has null

returns false because "" is not considered as null.
==
<expression1> == <expression2>

Both <expression1> and <expression2> must have the same data type.
The result is boolean.
3.14 == 42

"foo" == "bar"

!=
<expression1> != <expression2>

Both <expression1> and <expression2> must have the same data type.
The result is boolean.
3.14 != 42

"foo" != "bar"

>
<expression1> > <expression2>

Datetime can be compared with Datetime.
Datetimeonly can be compared with Datetimeonly.
Both integer or decimal can be compared with both integer or decimal.
Any other combination is forbidden.
The result is boolean.
3.14 > 42

>=
<expression1> >= <expression2>

Datetime can be compared with Datetime.
Datetimeonly can be compared with Datetimeonly.
Both integer or decimal can be compared with both integer or decimal.
Any other combination is forbidden.
The result is boolean.
42 >= 3.14

<
<expression1> < <expression2>

Datetime can be compared with Datetime.
Datetimeonly can be compared with Datetimeonly.
Both integer or decimal can be compared with both integer or decimal.
Any other combination is forbidden.
The result is boolean.
42 < 3.14

<=
<expression1> <= <expression2>

Datetime can be compared with Datetime.
Datetimeonly can be compared with Datetimeonly.
Both integer or decimal can be compared with both integer or decimal.
Any other combination is forbidden.
The result is boolean.
42 <= 3.14

Arithmetic

Operator Literal Expression Example
+
<expression1> + <expression2>

Both expressions must be numeric (integer or decimal).
The result is also numeric.
1 + 2

Returns 3
-
<expression1> - <expression2>

Both expressions must be numeric (integer or decimal).
The result is also numeric.
2 - 1

Returns 1
/
<expression1> / <expression2>

Both expressions must be numeric (integer or decimal).
The result is also numeric.
<expression2> must not be equal to 0 (returns 0).
4 / 2

Returns 2
*
<expression1> * <expression2>

Both expressions must be numeric (integer or decimal).
The result is also numeric.
3 * 4

Returns 12
%
<expression1> % <expression2>

Both expressions must be numeric (integer or decimal).
The result is also numeric.
3 % 2

Returns 1.

Math

Operator Literal Expression Example
is numeric
<expression> is numeric

The type of the expression is integer or decimal.
@ is numeric

is integer
<expression> is integer

The type of the expression is integer.
@ is integer

is decimal
<expression> is decimal

The type of the expression is decimal.
@ is decimal

String

Operator Literal Expression Example
+
<string> + <expression>

<expression> + <string>

It concatenates two expressions.
One expression must be a chained string.
"the current time is " + (now())

Returns "the current time is 2019-09-23T09:30:06.693Z"
(now()) + " is the current time"

Returns "2019-09-23T09:30:06.693Z is the current time"
"a" + "b" + "c" + 1234

Returns "abc1234".

Date

Operator Literal Expression Example
+
<expression + <duration>

Append a duration to a dateTime, a dateTimeOnly or a duration.
toDateTime("2011-12-03T15:15:30Z")

 + toDuration("PT15M")

Returns 2011-12-03T15:30:30Z
toDateTimeOnly("2011-12-03T15:15:30")

 + toDuration("PT15M")

Returns 2011-12-03T15:30:30
now() + toDuration("PT1H")

Returns a dateTime (with UTC time zone) one hour later from current time
toDuration("PT1H") + toDuration("PT1H")

Returns PT2H