有人知道在[…]中使用参数/变量查询的解决方案吗?在db2 v11的函数?
what I tried:
DECLARE @list varchar(23) = '1,2,3,4'
SELECT ...FROM tbl WHERE col IN (@list)
WITH test(val) AS (VALUES(ARRAY['5','9']))
SELECT ... FROM table, test WHERE col ANY(val)
两个都不工作,第一个不兼容db2,第二个不工作,因为他不能分割值。
有什么想法或例子吗?
试试这个:
SELECT t.*
FROM tbl t
WHERE EXISTS
(
select 1
from xmltable
(
'for $id in tokenize($s, ",") return <i>{string($id)}</i>'
passing '1,2,3,4' as "s"
columns
tok int path '.'
) v
where v.tok = t.col
);
如果您想在运行时提供以逗号分隔的整数列表,则可以使用参数标记代替字符串常量1,2,3,4
作为常规字符串参数。
声明本地临时表并在其中插入值列表