# Operators

#### &#x20;<a href="#operators" id="operators"></a>

<table data-header-hidden><thead><tr><th width="221.66666666666669">Operator</th><th>Description</th><th>Compatible with attributes of type:</th></tr></thead><tbody><tr><td><strong>Operator</strong></td><td><strong>Description</strong></td><td><strong>Compatible with attributes of type:</strong></td></tr><tr><td><code>==</code></td><td>Equals</td><td>string, datetime, float, integer, boolean</td></tr><tr><td><code>&#x3C;></code></td><td>Unequals</td><td>string, datetime, float, integer</td></tr><tr><td><code>&#x3C;</code></td><td>Smaller than</td><td>datetime, float, integer</td></tr><tr><td><code>&#x3C;=</code></td><td>Smaller than or equal to</td><td>datetime, float, integer</td></tr><tr><td><code>></code></td><td>Greater than</td><td>datetime, float, integer</td></tr><tr><td><code>>=</code></td><td>Greater than or equal to</td><td>datetime, float, integer</td></tr><tr><td><code>startsWith</code></td><td>Starts with</td><td>string</td></tr><tr><td><code>notStartsWith</code></td><td>Must not start with</td><td>string</td></tr><tr><td><code>endsWith</code></td><td>Ends with</td><td>string</td></tr><tr><td><code>notEndsWith</code></td><td>Must not end with</td><td>string</td></tr><tr><td><code>contains</code></td><td>Contains substring or element</td><td>string, array</td></tr><tr><td><code>notContains</code></td><td>Must not contain substring or element</td><td>string, array</td></tr><tr><td><code>any</code></td><td>The attribute must exist, but it can have any value    </td><td>string, datetime, float, integer, boolean</td></tr><tr><td><code>notExists</code></td><td>The attribute must not exist</td><td>string, datetime, float, integer, boolean</td></tr></tbody></table>

For all `string` attributes, CrossEngage offers a range of operators that can compare the values with case sensitivity:

| **Operator**                 | **Description**                          |
| ---------------------------- | ---------------------------------------- |
| `==CaseSensitive`            | Equals case sensitive                    |
| `<>CaseSensitive`            | Unequals case sensitive                  |
| `startsWithCaseSensitive`    | Starts with case sensitive               |
| `notStartsWithCaseSensitive` | Doesn't start with case sensitive        |
| `endsWithCaseSensitive`      | Case sensitive ends with                 |
| `notEndsWithCaseSensitive`   | Case sensitive doesn't end with          |
| `containsCaseSensitive`      | Case sensitive contains substring        |
| `notContainsCaseSensitive`   | Case sensitive doesn't contain substring |

###


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.crossengage.io/data-and-engagement-platform/messages/personalization/operators.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
