你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
in 运算符
筛选记录集中具有区分大小写的字符串的数据。
下表对 in
运算符进行了比较:
操作员 | 描述 | 区分大小写 | 示例(生成 true ) |
---|---|---|---|
in |
等于某个元素 | 是 | "abc" in ("123", "345", "abc") |
!in |
不等于任何元素 | 是 | "bca" !in ("123", "345", "abc") |
in~ |
等于任何元素 | 否 | "Abc" in~ ("123", "345", "abc") |
!in~ |
不等于任何元素 | 否 | "bCa" !in~ ("123", "345", "ABC") |
注意
嵌套数组将平展为单个值列表。 例如,x in (dynamic([1,[2,3]]))
重命名为 x in (1,2,3)
。
有关其他运算符的详细信息以及确定哪个运算符最适合你的查询,请参阅 datatype 字符串运算符。
目前仅 ASCII 文本支持不区分大小写的运算符。 对于非 ASCII 比较,请使用 tolower() 函数。
性能提示
注意
使用超过 128 个搜索词时,将禁用文本索引查找优化,这可能会导致查询性能降低。
注意
性能取决于搜索的类型和数据的结构。 有关最佳做法,请参阅查询最佳做法。
语法
T |
col where
expressionin
... (
,
)
详细了解语法约定。
参数
客户 | 类型 | 必需 | 描述 |
---|---|---|---|
T | string |
✔️ | 要筛选的表格输入。 |
col | string |
✔️ | 进行筛选所依据的列。 |
expression | 标量或表格 | ✔️ | 一个表达式,用于指定要搜索的值。 每个表达式都可以是一个标量值或一个生成一组值的表格表达式。 如果表格表达式包含多个列,则会使用第一个列。 搜索最多考虑 1,000,000 个不同的值。 |
返回
其谓词为 的 T 中的行。
示例
标量列表
以下查询演示如何将 in
与标量值列表一起使用。
StormEvents
| where State in ("FLORIDA", "GEORGIA", "NEW YORK")
| count
输出
计数 |
---|
4775 |
动态数组
以下查询演示如何将 in
与动态数组一起使用。
let states = dynamic(['FLORIDA', 'ATLANTIC SOUTH', 'GEORGIA']);
StormEvents
| where State in (states)
| count
输出
计数 |
---|
3218 |
表格表达式
以下查询演示如何将 in
与表格表达式一起使用。
let Top_5_States =
StormEvents
| summarize count() by State
| top 5 by count_;
StormEvents
| where State in (Top_5_States)
| count
可以使用内联表格表达式语句编写同一查询。
StormEvents
| where State in (
StormEvents
| summarize count() by State
| top 5 by count_
)
| count
输出
计数 |
---|
14242 |
其他示例中的 Top
以下示例使用闪电事件标识前五个状态,并使用 iff()
函数和 in
运算符按前五个状态对闪电事件进行分类,并标有状态名称,以及标记为“Other”的所有其他状态。
let Lightning_By_State = materialize(StormEvents
| summarize lightning_events = countif(EventType == 'Lightning') by State);
let Top_5_States = Lightning_By_State | top 5 by lightning_events | project State;
Lightning_By_State
| extend State = iff(State in (Top_5_States), State, "Other")
| summarize sum(lightning_events) by State
输出
状态 | sum_lightning_events |
---|---|
ALABAMA | 29 |
威斯康星州 | 31 |
德克萨斯 | 55 |
佛罗里达州 | 85 |
佐治亚州 | 106 |
其他 | 415 |
使用函数返回的静态列表
以下示例基于预定义的有趣状态列表对 StormEvents
表中的事件进行计数。 有趣的状态由 InterestingStates()
函数定义。
StormEvents
| where State in (InterestingStates())
| count
输出
计数 |
---|
4775 |
以下查询显示 InterestingStates()
函数认为哪些状态很有趣。
.show function InterestingStates
输出
客户 | 参数 | 正文 | 文件夹 | DocString |
---|---|---|---|---|
InterestingStates | () | { dynamic(["WASHINGTON", "FLORIDA", "GEORGIA", "NEW YORK"]) } |