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

如何在Amazon Redshift中使用CASE语句比较两列?报错解决

问题解决:Amazon Redshift中比较两列数值相等的CASE语句问题

Redshift完全支持这类CASE逻辑,报错“No value specified for parameter 1”大概率不是CASE语句本身的问题,最可能的原因是你的列别名使用了特殊字符:

你的别名Does_it_match?包含问号?,Redshift的标识符(列名、表名等)默认不允许这类特殊字符,需要用双引号将别名括起来,修改后的代码如下:

CASE
WHEN table_1.column_a = table_2.column_b THEN 'Match'
ELSE 'No match'
END AS "Does_it_match?"

另外补充两个注意点:

  • 若column_a或column_b可能存在NULL值,直接用=比较会返回NULL,最终会被归为No match。如果需要区分“值不相等”和“存在NULL”的情况,可以调整CASE逻辑:
    CASE
    WHEN table_1.column_a IS NULL OR table_2.column_b IS NULL THEN 'Has NULL'
    WHEN table_1.column_a = table_2.column_b THEN 'Match'
    ELSE 'No match'
    END AS "Does_it_match?"
    
  • 检查两张表的关联逻辑是否正确,确保使用了合适的JOIN类型(INNER JOIN、LEFT JOIN等),关联键匹配无误,错误的关联逻辑也可能引发参数相关报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:40:35