如何使用KQL筛选日期差超指定天数的工单记录?
KQL筛选日期差值超过指定天数的工单记录
你不需要用let来给每条记录创建变量——let是定义查询级别的全局变量,不是用来处理单条记录的。正确的做法是用extend子句给每条记录计算并添加日期差值的列,然后用where筛选符合条件的记录。
基础实现代码
假设你的工单表名为WorkItems,直接用下面的查询就能筛选出创建日期与关闭日期差值大于3天的记录:
WorkItems // 给每条记录计算日期差(单位:天),新增DaysDiff列 | extend DaysDiff = datediff(day, Creationdate, closedDate) // 筛选差值大于3天的记录 | where DaysDiff > 3
如果要筛选差值大于7天的工单,只需要把where子句里的数字改成7就行:
WorkItems | extend DaysDiff = datediff(day, Creationdate, closedDate) | where DaysDiff > 7
额外注意事项
如果你的Creationdate或closedDate不是datetime类型,需要先转换成日期格式,避免计算出错:
WorkItems // 先转换日期字段为datetime类型 | extend Creationdate = todatetime(Creationdate), closedDate = todatetime(closedDate) | extend DaysDiff = datediff(day, Creationdate, closedDate) | where DaysDiff > 3
内容的提问来源于stack exchange,提问作者Norberto Gil
相关产品推荐
相关产品推荐

