# Operators Overview

## Arithmetic operators

Operator Description
`+` addition
`-` subtraction
`*` multiplication
`/` division
`%` the remainder after division
`Mod` modulu

## String Concatenation

Operator Description
`+` Concatenation, joining strings.
Example: `Fields.FirstName + " " + Fields.LastName`

## Comparison operators

Operator Description
`<` less than
`<=` less than or equal to
`<>` not equal to
`=` equal
`>` greater than
`>=` greater than or equal to
`Between` selects a range of data between two values
`In` Compare to a list of items. The list can be any collection of objects
`Like` pattern matching
`IS  [NOT] NULL` If the value of the expression is `NULL`, `IS NULL` returns `TRUE`; otherwise, it returns `FALSE` .
If the value of the expression is `NULL`, `IS NOT NULL` returns `FALSE`; otherwise, it returns `TRUE`

`Null` values represent missing unknown data and are usually used as placeholders for unknown or inapplicable values. It is not possible to test for null values with comparison operators such as `=` or `<>`. The `IS [NOT] NULL` operator should be used instead.

## Logical operators

Operator Description
`And` Combines two Boolean expressions and returns `TRUE` when both expressions are TRUE
`Not` Using `NOT` negates an expression
`Or` Combines two Boolean expressions and returns `TRUE` when either of the conditions is TRUE
`?:` Conditional operator.
Returns one of two values depending on the value of a Boolean expression.
Usage: `=Fields.DiscountAvailable ? Fields.X : Fields.Y`
`??` Null-coalescing operator.
Returns the left-hand operand if the operand is not null;
otherwise it returns the right-hand operand.
Usage: `=Fields.Description ?? "N/A"`

## Using wildcards for operators

Both the `*` and `%` can be used interchangeably for wildcard characters in a LIKE comparison. If the string in a `LIKE` clause contains a `*` or `%`, those characters should be escaped in brackets (`[]`). If a bracket is in the clause, the bracket characters should be escaped in brackets (for example `[[]` or `[&cd;`). A wildcard is allowed at the start and end of a pattern, at the end of a pattern, or at the start of a pattern. For example:

• "ItemName LIKE 'product'"
• "ItemName LIKE '*product'"
• "ItemName LIKE 'product*'"

Wildcard characters are not allowed in the middle of a string. For example, `te*xt` is not allowed.