0

例如,我有一个查询,

workspace("someanalytics").somecheck
| where someProperties_s contains "something"
| project someProperties_s , TimeGenerated
| extend somethingAB = parse_json(someProperties_s)
| extend somethingabc= somethingAB.something
| project TimeGenerated, tostring(somethingabc)
| order by TimeGenerated, somethingabc desc
| extend somethingabcchart = somethingabc
| parse somethingabcchart with minutes:int ":" seconds:int "." ms:int

解析前的旧结果

TimeGenerated [UTC]:somethingabc:somethingabcchart

2021 年 9 月 8 日,上午 9:37:01.532:00:27.49:00:27.49
2021 年 9 月 8 日,上午 9:38:22.112:00:25.67:00:25.67
2021 年 9 月 8 日,9:39:上午 51.473 : 00:30.50 : 00:30.50
9/8/2021, 上午 9:41:31.722 : 00:33.89 : 00:33.89
9/8/2021, 上午 9:43:01.623 : 00:28.10 : 00:28.10
2021 年 9 月 8 日上午 9:44:31.567 : 00:27.18 : 00:27.18

当前结果

图像显示检查此链接后的当前结果如何将字符串列转换为时间列类型? 在这里,我想将时间戳日期转换为秒,正如您在图像中看到的那样,它应该在“somethingabcchart”列下给出 95 秒

00:27.49 如果它是 01.01.00 则仅给出 27 秒,然后在 someabc 列或 someabcchart 列下仅给出 61 秒的结果,因为它在 timestampdate 中,因此无法在 azure 查询上创建图表,因此需要一种转换方法到秒。我正在尝试将其转换为字符串,因为它认为代码的后面部分可以将其转换回时间日期,然后除以 1 秒以获取秒数但无法获取数据,我使用此链接作为指导。<< https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/timespan

4

1 回答 1

1

如果我正确理解了您的问题,您可以将一个timespan值除以1s得到总秒数。

请参阅:https ://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/datetime-timespan-arithmetic

例如:

datatable(ts:timespan)[timespan(12:34:56), timespan(1.23:45:23.678)]
| extend total_seconds = ts / 1s // <---
ts 总秒数
12:34:56 45296
1.23:45:23.6780000 171923.678

或者,如果输入是 astring而不是 a timespan

datatable(ts_str:string)["12:34:56", "1.23:45:23.678"]
| extend ts = totimespan(ts_str)
| extend total_seconds = ts / 1s // <---
ts_str ts 总秒数
12:34:56 12:34:56 45296
1.23:45:23.678 1.23:45:23.6780000 171923.678
于 2021-09-10T13:15:59.583 回答