DB2在视图中使用LIKE子句和全局变量

时间:2015-07-30 15:45:34

标签: sql view db2 global-variables db2-400

我们在I系列DB2中创建了一个VIEW,它基于GLOBAL VARIABLE获取数据,该GLOBAL VARIABLE是在运行语句之前创建和设置的:

这是一个很好的性能提升,但似乎只能使用equals子句:

SET myvariable='foo';
where field = myvariable;

但是我试图使用类似于:

的LIKE子句进行匹配
SET myvariable='%foo%';
WHERE field LIKE myvariable;

我还尝试了以下内容,连接%符号:

SET myvariable='foo';
WHERE field LIKE '%' || myvariable || '%';

LIKE方法都没有工作,我在网上找不到如何在LIKE子句中使用全局变量的示例,所有示例仅适用于Equals子句。

如何让这场比赛发挥作用?

1 个答案:

答案 0 :(得分:2)

发现问题了!

正在创建的变量是CHAR类型而不是VARCHAR类型,因此在连接任一侧的%符号之前需要修剪该值。或者,我可以将其更改为键入VARCHAR