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

Alation查询表单及参数无法传递多值问题求助

解决Alation SQL表单单字段多关键词搜索问题

问题核心

你当前用raw类型参数时,输入逗号分隔多值无法返回数据,根源在于:

  • raw类型会直接把用户输入内容插入SQL,若输入带空格的逗号分隔值(如11222, 22333),会触发SQL语法错误;
  • 若contractnumber是字符串类型,直接输入的数值不会自动添加单引号,无法匹配字符串字段。

针对性解决方案

根据contractnumber的字段类型,选择对应SQL写法:

情况1:contractnumber为数值类型

用text类型参数接收输入,通过字符串分割、类型转换处理多值:

select *
From eda.table1
Where contractnumber IN (
    SELECT unnest(string_to_array(${contractnumber:type:text}, ','))::int
);
  • string_to_array把输入的逗号分隔字符串转为数组;
  • unnest将数组展开为单行数据;
  • ::int把字符串转为数值类型,匹配字段类型。

情况2:contractnumber为字符串类型

同样用text类型参数,处理输入中的空格并分割:

select *
From eda.table1
Where contractnumber IN (
    SELECT trim(unnest(string_to_array(${contractnumber:type:text}, ',')))
);
  • trim去除每个值前后的空格(适配用户输入11222, 22333这类带空格的格式);
  • 无需额外类型转换,直接匹配字符串字段。

使用说明

用户只需在表单字段中输入逗号分隔的关键词(可带空格),即可返回所有匹配的合同行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:13:23