我正在用(Kusto)构建动态计算机组。我需要连接两个计算机大小写不匹配的表。有人想出办法解决这个问题了吗?
示例(使用一台计算机):
心跳表有名为ABCDE.domain.com的计算机,Application_CL表有名为abcde.DOMAIN.com的计算机
如果我运行这个查询,结果集是空的,除非FQDN是完全匹配的。如果这是SQL,它将返回ABCDE.domain.com,这正是我们所需要的。
let H = Heartbeat | summarize by Computer; let A = Application_CL | where Name_s == "AppName" | summarize by Computer; H | join A on $left.Computer == $right.Computer | distinct Computer我尝试使用=~作为联接运算符,但它必须是==。在这种情况下,toupper()和tolower()对我没有好处。
提前感谢
发布于 2019-01-07 01:16:51
如果查询中的逻辑允许使用不区分大小写的in~()或!in~()运算符,则应选择该选项。
否则,在对该列应用联接之前,您可以在两个联接腿中扩展一个计算过的列(但是,与不需要这样做的情况相比,它的效率要低)。
类似于:
T1
| extend lowercase_computer_name = tolower(ComputerName)
| join (T2 | extend lowercase_computer_name = tolower(ComputerName))
on lowercase_computer_name发布于 2020-08-09 13:06:55
您可以使用搜索,这在默认情况下是不区分大小写的。
发布于 2021-06-17 17:45:10
如果要做的是对大小写不敏感的regex计算,则可以在regex模式的开始处包含大小写不敏感标志。
如以下示例所示:
ServiceName matches regex "(?i)super duper express"请参见:
https://stackoverflow.com/questions/54063592
复制相似问题