提问人:Sherri 提问时间:11/18/2023 最后编辑:Sherri 更新时间:11/18/2023 访问量:32
在 DB2 SQL 中创建和使用变量
Creating and Using Variables in DB2 SQL
问:
我正在尝试创建一个变量以在 db2 sql 的 Where 子句中使用。一切都运行没有错误,但我没有返回任何结果。你能看看下面的内容,告诉我我哪里出了问题吗?
--创建我的测试表
创建表 QTEMP。TESTVAR (循环 CHAR(2), BD CHAR(2)); 插入 QTEMP。TESTVAR (周期, BD) 值 (01,01),(02,02),(03,03),(04,04),(05,05),(06,06),(07,07),(08,08),(09,09),(10,10),(11,11),(12,12),(13,13),(14,14),(15,15);
--创建我的变量
DROP 变量 SRCCYC;创建变量 SRCCYC CHAR(10) DEFAULT ' ''13'',''14'',''15'' ';
-- 带有变量的 SQL 不起作用
从 QTEMP 中选择 *。TESTVAR 其中循环 (SRCCYC);
--这就是我希望它带回来的东西
从 QTEMP 中选择 *。TESTVAR 其中循环 ('13','14','15');
答:
0赞
Charles
11/18/2023
#1
您没有提到您正在使用的平台和 Db2 版本......
但是,这是一组硬编码的三个字符串值...IN ('13','14','15')
这是一个只有一个字符串值的集合。IN (SRCCYC)
你需要的是这样的:IN (SRCCYC1, SRCCYC2, SRCCYC3)
根据您的平台和版本,您可以使用 或提供/现有/滚动自己的函数将单个字符串拆分为兼容JSON_TABLE()
XML_TABLE()
SPLIT()
IN ()
评论