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

KQL是否存在strcat_if函数?如何按条件合并两列数据

KQL 动态合并两列非空值方案

你的核心需求是避免两列同时有值时拼接出错,优先取非空有效值,最直接的方式是使用KQL原生的coalesce()函数,该函数会按传入顺序返回第一个非空的参数值,完全符合“仅取非空值、不同时拼接两个有效值”的要求。

基础用法(空值为null场景)

如果你的表中空值为KQL识别的null类型,直接调用即可,示例中优先取标准解析的potentialPhishURL,为空时再取厂商解析的potentialPhishURL_vendor:

// 替换YourTableName为你的实际表名
YourTableName
| extend mergedPhishURL = coalesce(potentialPhishURL, potentialPhishURL_vendor)

兼容空字符串场景

如果你的表中空值是""(空字符串)而非null,需要先把空字符串转换为null再处理,避免coalesce()把空字符串判定为有效值:

YourTableName
| extend mergedPhishURL = coalesce(
    iff(potentialPhishURL == "", dynamic(null), potentialPhishURL),
    iff(potentialPhishURL_vendor == "", dynamic(null), potentialPhishURL_vendor)
)

自定义规则场景

如果你需要额外的拼接逻辑(比如仅当标准解析列为空时,给厂商解析结果加标识前缀),可以用iif()条件判断实现更灵活的规则:

// 示例规则:标准解析列有值直接取,为空时拼接前缀+厂商解析结果
YourTableName
| extend mergedPhishURL = iif(
    isempty(potentialPhishURL),
    strcat("厂商补全:", potentialPhishURL_vendor),
    potentialPhishURL
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:39:07