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

如何通过KQL将ADX中转为long的特定格式时间戳转成datetime

将ADX中的特殊格式时间戳转换为datetime类型

假设你的表名为YourTable,存储时间戳的列名为TimestampLong(摄入时转为long类型,显示格式为['8_27_2023 11_00']),可以通过以下KQL方案完成转换:

方法一:分步替换+指定格式解析

YourTable
// 提取数组字符串中的核心时间文本
| extend CleanTimeStr = extract(@"^\['([^\]]+)\]$", 1, tostring(TimestampLong))
// 替换下划线为日期/时间标准分隔符
| extend FormattedTimeStr = replace_string(replace_string(CleanTimeStr, "_", "/", 2), "_", ":")
// 按指定格式转换为datetime类型
| extend TargetDatetime = datetime_parse(FormattedTimeStr, 'M/d/yyyy HH:mm')

方法二:正则一次性替换+转换

这种方式更简洁,通过正则匹配直接替换所有分隔符:

YourTable
| extend CleanTimeStr = extract(@"^\['([^\]]+)\]$", 1, tostring(TimestampLong))
| extend FormattedTimeStr = replace(@"(^\d+)_(\d+)_(\d+)\s+(\d+)_(\d+)", @"$1/$2/$3 $4:$5", CleanTimeStr)
| extend TargetDatetime = todatetime(FormattedTimeStr)

关键步骤说明

  • 提取核心文本:用extract函数配合正则表达式,从['xxx']格式的字符串中提取出8_27_2023 11_00这类纯时间文本。
  • 替换分隔符:将日期部分的下划线_替换为/,时间部分的下划线替换为:,转换成KQL可识别的时间格式。
  • 转换为datetime:使用datetime_parse(指定格式避免自动解析歧义)或todatetime函数完成类型转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:40:07