首页 > 解决方案 > 我想在 azure app Insight 中找到 2 个日期列之间的日期差异?

问题描述

我们有一个日志文件,用于存储我们平台上发生的搜索。现在有一个出发日期,我想查找出发日期是从今天起 330 天之后的搜索。

我正在尝试运行查询以查找出发日期列和日志时间(事件进入日志的时间)之间的差异。但得到以下错误:

无法在第 [5,54] 行的“日期时间(“出发日期”)”处解析查询

令牌:datetime("departureDate") 行:5 位置:54

出发日期的日期格式是 mm/dd/yyyy,logtime 格式是 app Insight 的典型日期时间格式。

我正在运行的查询如下:

customEvents
| where name == "SearchLog"
| extend departureDate = tostring(customDimensions.departureDate)
| extend logTime = tostring(customDimensions.logTime)
| where datetime_diff('day',datetime("departureDate"),datetime("logTime")) > 200

正如建议的那样,我运行了以下查询,但现在我得到 0 个结果,但有数据满足给定条件。

customEvents
| where name == "SearchLog"
| extend departureDate = tostring(customDimensions.departureDate)
| extend logTime = tostring(customDimensions.logTime)
| where datetime_diff('day',todatetime(departureDate),todatetime(logTime)) > 200

例子:

出发
日期 04/09/2020

日志时间

2019 年 8 月 13 日上午 8:45:39 -04:00

我还尝试了以下查询来检查是否支持数据格式,并给出了正确的响应。

customEvents
| project datetime_diff('day', datetime('04/30/2020'),datetime('8/13/2019 8:25:51 AM -04:00'))

标签: azure-application-insights

解决方案


应删除 where 子句中日期时间运算符内的双引号。

您的代码应如下所示:

where datetime_diff('day',datetime(departureDate),datetime(logTime)) > 200

推荐阅读