You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KQL中使用数组作为WHERE子句的查询条件?

KQL中复用数组作为多表查询条件的正确写法

你遇到的问题是数组定义语法不对——KQL里直接用("AAA","BBB","CCC")定义的是元组,不是动态数组,所以in操作符无法识别。下面是两种正确的写法:

方法1:用dynamic()定义数组

let target_values = dynamic(["AAA", "BBB", "CCC"]);

// 第一个表查询
Table
| where Field in (target_values)

// 第二个表查询
Table1
| where Field1 in (target_values)

方法2:用pack_array()函数定义数组

let target_values = pack_array("AAA", "BBB", "CCC");

Table
| where Field in (target_values)

Table1
| where Field1 in (target_values)

关于has_any的补充

如果你的需求是字段包含数组中的任意子串(而非精确匹配),可以用has_any,写法类似:

let target_values = dynamic(["AAA", "BBB", "CCC"]);

Table
| where Field has_any (target_values)

内容的提问来源于stack exchange,提问作者An0n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:15:34