startswith operator

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

The following table provides a comparison of the startswith operators:

Operator Description Case-Sensitive Example (yields true)
startswith RHS is an initial subsequence of LHS No "Fabrikam" startswith "fab"
!startswith RHS isn't an initial subsequence of LHS No "Fabrikam" !startswith "kam"
startswith_cs RHS is an initial subsequence of LHS Yes "Fabrikam" startswith_cs "Fab"
!startswith_cs RHS isn't an initial subsequence of LHS Yes "Fabrikam" !startswith_cs "fab"

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 further 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, hassuffix_cs, not hassuffix. For best practices, see Query best practices.

Syntax

T | where col startswith (expression)

Arguments

  • T - The tabular input whose records are to be filtered.
  • col - The column to filter.
  • expression - Scalar or literal expression.

Returns

Rows in T for which the predicate is true.

Example

StormEvents
    | summarize event_count=count() by State
    | where State startswith "Lo"
    | where event_count > 10
    | project State, event_count

Output

State event_count
LOUISIANA 463