The case-insensitive !~ (not equals) string operator

Learn how to use the !~ (not equals) string operator to filter records for data that doesn’t match a case-insensitive string.

Filters a record set for data that doesn’t match a case-insensitive string.

The following table provides a comparison of the == (equals) operators:

OperatorDescriptionCase-SensitiveExample (yields true)
==EqualsYes"aBc" == "aBc"
!=Not equalsYes"abc" != "ABC"
=~EqualsNo"abc" =~ "ABC"
!~Not equalsNo"aBc" !~ "xyz"

For more information about other operators and to determine which operator is most appropriate for your query, see datatype string operators.

Performance tips

When possible, use the case-sensitive !=.

Syntax

T | where column !~ (expression)

Parameters

NameTypeRequiredDescription
Tstring✔️The tabular input whose records are to be filtered.
columnstring✔️The column by which to filter.
expressionscalar✔️The scalar or literal expression for which to search.

Returns

Rows in T for which the predicate is true.

Example

StormEvents
| summarize event_count=count() by State
| where (State !~ "texas") and (event_count > 3000)
| project State, event_count

Output

Stateevent_count
KANSAS3,166