The case-insensitive in~ string operator

Learn how to use the in~ operator to filter data with a case-insensitive string.

Filters a record set for data with a case-insensitive string.

Performance tips

When possible, use the case-sensitive in.

Syntax

T | where col in~ (expression,)

Parameters

NameTypeRequiredDescription
Tstring✔️The tabular input to filter.
colstring✔️The column by which to filter.
expressionscalar or tabular✔️An expression that specifies the values for which to search. Each expression can be a scalar value or a tabular expression that produces a set of values. If a tabular expression has multiple columns, the first column is used. The search will consider up to 1,000,000 distinct values.

Returns

Rows in T for which the predicate is true.

Examples

List of scalars

The following query shows how to use in~ with a comma-separated list of scalar values.

StormEvents 
| where State in~ ("FLORIDA", "georgia", "NEW YORK") 
| count

Output

Count
4775

Dynamic array

The following query shows how to use in~ with a dynamic array.

StormEvents 
| where State in~ (dynamic(["FLORIDA", "georgia", "NEW YORK"])) 
| count

Output

Count
4775

The same query can also be written with a let statement.

let states = dynamic(["FLORIDA", "georgia", "NEW YORK"]);
StormEvents 
| where State has_any (states)
| summarize count() by State

Output

Count
4775

Tabular expression

The following query shows how to use in~ with an inline tabular expression. Notice that an inline tabular expression must be enclosed with double parentheses.

StormEvents 
| where State in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State

Output

Statecount_
TEXAS4701
ILLINOIS2022
MISSOURI2016
GEORGIA1983
MINNESOTA1881

The same query can also be written with a let statement. Notice that the double parentheses as provided in the last example aren’t necessary in this case.

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State in~ (large_states)
| summarize count() by State

Output

Statecount_
TEXAS4701
ILLINOIS2022
MISSOURI2016
GEORGIA1983
MINNESOTA1881