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

Teradata SQL中WHERE子句合并两列使用IN函数查询问题

Teradata 字段拼接IN查询实现方法

Teradata 环境下字符串拼接的通用标准运算符为 ||,你尝试的+仅支持数值运算,CONCAT函数仅在14.10及更高版本可用,所以用||运算符即可实现需求。

基础写法(字段均为字符串类型、无NULL值)

SELECT * 
FROM 你的实际表名
WHERE PROV_NUM || AFF_NUM IN ('P000125460012', 'P000145890003');

特殊场景适配

  • 若AFF_NUM为数值类型,需先显式转字符串避免隐式转换异常:
SELECT * 
FROM 你的实际表名
WHERE PROV_NUM || CAST(AFF_NUM AS VARCHAR(10)) IN ('P000125460012', 'P000145890003');
  • 若字段可能存在NULL值,需搭配COALESCE替换NULL为空字符串,避免拼接结果整体为NULL:
SELECT * 
FROM 你的实际表名
WHERE COALESCE(PROV_NUM, '') || COALESCE(CAST(AFF_NUM AS VARCHAR(10)), '') IN ('P000125460012', 'P000145890003');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:15:00