如何使用等于运算符(==)与变量进行匹配查询?
在Kusto查询中使用等于运算符匹配同名变量的解决方法
当你定义的变量名和数据表的列名相同时,直接写method == method会被查询引擎解析为列与自身比较,导致返回整张表,无法实现变量匹配的预期效果。可以通过以下两种方式区分变量和列:
方法一:用$前缀引用变量
在变量名前添加$,明确指定这是一个查询变量而非数据表列:
let T = datatable(Timestamp: datetime, method: string, value: real) [ '2020-01-01 12:00:00','A',1, '2020-01-01 12:30:00','B',2 ]; let method = 'A'; T | where method == $method
方法二:用表名限定列名
通过数据表名+.的格式指定列,避免和变量名混淆:
let T = datatable(Timestamp: datetime, method: string, value: real) [ '2020-01-01 12:00:00','A',1, '2020-01-01 12:30:00','B',2 ]; let method = 'A'; T | where T.method == method
以上两种方式都能正确匹配变量method的值,仅返回method列等于'A'的行。
内容的提问来源于stack exchange,提问作者actual_panda
相关产品推荐
相关产品推荐

