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

Kusto查询应用版本合规性报错求助:无法比较字符串类型

解决Kusto版本号比较报错问题

你的报错是因为Kusto中直接对字符串类型的版本号做大于等于比较时,既不符合版本号的语义逻辑,还会触发类型校验报错。要正确对比版本号,需用Kusto内置的parse_version()函数将字符串版本转换成可语义化比较的版本类型。

修改后的查询语句

AppInventory_CL
| where AppName_s == 'Microsoft Edge'  // 原条件里的"* in ('Microsoft Edge')"永远为false,可简化
| summarize arg_max(TimeGenerated, *) by ManagedDeviceID_g, AppName_s, AppPublisher_s
| project ComputerName_s, AppName_s, AppVersion_s
| extend Versione = iif(parse_version(AppVersion_s) >= parse_version('116.0.0.0'), 'OK', 'KO')

关键说明

  • parse_version()函数会将点分隔的版本字符串(如116.0.0.0、116.198.117.0)转换成Kusto的版本对象,支持按照版本号的语义(从左到右逐段比较数值)进行大小判断,而非按字符串的字符顺序对比。
  • 原查询中的where AppName_s in ('Microsoft Edge') or '*' in ('Microsoft Edge')可简化为where AppName_s == 'Microsoft Edge',因为*不在('Microsoft Edge')集合内,该条件分支永远不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:57:05