DataWorks数据服务传入string类型解析成了list?
数据服务API一个入参不支持同时放在in运算和非in运算里 现象: 传入string类型的参数-1sql解析成了列表[-1]。 复现的sql:select name from tb_8string where (concat(unknown) = -1 OR c1 in (unknown)) AND (concat(unknown) = -1 OR c2 in (unknown)) 解析出来的sql:[INFO] [18:42:16.713] api sql realsql : SELECT name FROM tb_8string WHERE (concat('-1') = -1 OR c1 IN ('-1')) AND (concat([-1]) = -1 OR c2 IN ([-1])) 原因: 一个入参不支持同时放在in运算和非in运算里。 解决: 2个建议。 第一种:继续用基础sql,拆成两个参数。 比如c1拆成 a1和a2,c2拆成a3和a4。a1和a2传入相同的数值。a3和a4传入相同的数值。sql改成: select name from tb_8string where (concat(unknown) = -1 OR c1 in (unknown)) AND (concat(unknown) = -1 OR c2 in (unknown)) 第二种:新建api,用高级sql。用mybatis语法来写他的语句。 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。