hasprefix operator
Filters a record set for data with a case-insensitive starting string. has searches for indexed terms, where a term is three or more characters. If your term is fewer than three characters, the query scans the values in the column, which is slower than looking up the term in the term index.
The following table provides a comparison of the hasprefix operators:
| Operator | Description | Case-Sensitive | Example (yields true) |
|---|---|---|---|
hasprefix |
RHS is a term prefix in LHS | No | "North America" hasprefix "ame" |
!hasprefix |
RHS isn't a term prefix in LHS | No | "North America" !hasprefix "mer" |
hasprefix_cs |
RHS is a term prefix in LHS | Yes | "North America" hasprefix_cs "Ame" |
!hasprefix_cs |
RHS isn't a term prefix in LHS | Yes | "North America" !hasprefix_cs "CA" |
Note
The following abbreviations are used in the table above:
- RHS = right hand side of the expression
- LHS = left hand side of the expression
For more information about other operators and to determine which operator is most appropriate for your query, see datatype string operators.
Case-insensitive operators are currently supported only for ASCII-text. For non-ASCII comparison, use the tolower() function.
Performance tips
Note
Performance depends on the type of search and the structure of the data.
For faster results, use the case-sensitive version of an operator, for example, hasprefix_cs, not hasprefix. For best practices, see Query best practices.
Syntax
T | where Column hasprefix (Expression)
Arguments
- T - The tabular input whose records are to be filtered.
- Column - The column to filter.
- Expression - Scalar or literal expression.
Returns
Rows in T for which the predicate is true.
Examples
Use hasprefix operator
StormEvents
| summarize event_count=count() by State
| where State hasprefix "la"
| project State, event_count
Output
| State | event_count |
|---|---|
| LAKE MICHIGAN | 182 |
| LAKE HURON | 63 |
| LAKE SUPERIOR | 34 |
| LAKE ST CLAIR | 32 |
| LAKE ERIE | 27 |
| LAKE ONTARIO | 8 |