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

QGIS中含NULL值的两列按规则合并为一列的问题

两列数据整合规则的完整实现方案

直接用CASE WHEN条件判断语句就能搞定所有规则,不用数组方法,核心是精准处理NULL值的比较逻辑(因为NULL和任何值比较结果都是UNKNOWN,不会触发普通的不等判断)。

完整代码示例(以SQL为例)

SELECT
  Column_A,
  Column_B,
  CASE
    -- 规则1:A、B均非空且值不等时输出'???'
    WHEN Column_A IS NOT NULL AND Column_B IS NOT NULL AND Column_A != Column_B THEN '???'
    -- 规则3:A非空、B为NULL时取A值
    WHEN Column_A IS NOT NULL AND Column_B IS NULL THEN Column_A
    -- 规则4:A为NULL、B非空时取B值
    WHEN Column_A IS NULL AND Column_B IS NOT NULL THEN Column_B
    -- 规则2(A=B时取A/B)+规则5(均为NULL时取NULL)
    ELSE Column_A
  END AS Column_C
FROM your_table_name;

测试结果(匹配你的示例)

Column AColumn BColumn C
12???
222
3NULL3
NULL44
NULLNULLNULL

关键说明

规则1必须先判断Column_A和Column_B都不为NULL,再比较值是否不等——如果直接写Column_A != Column_B,当其中一列是NULL时,这个条件会返回UNKNOWN,不会触发该分支,导致规则1失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 18:25:49