【发布时间】:2016-05-04 23:12:37
【问题描述】:
我有一个要求,我必须根据类似条件从表中选择多个用户名。
UserName_Table:
Username_column
--------
Nicky
Nolan
Megan
Fox
Federar
Fager
查询将是:
Select Username_column
from UserName_Table
where Username_column like Any ('N%','Megan');
这将给出结果:
Username_column
--------
Nicky
Nolan
Megan
问题来了:我想将 ('N%','Megan') 放入一个将由业务用户填充的表中。说表 User_Filter。
User_Filter_Table:
User_Filter_column
-----------------
N%
Megan
我已将查询更改如下以从表中获取过滤器。
Select Username_column
from UserName_Table
where Username_column like Any (Select User_Filter_column from User_Filter_Table);
奇怪的是,这给出了以下结果:
Username_column
--------
Megan
为什么查询跳过了 N%?
有人可以帮忙吗?
提前感谢您的帮助。
谢谢 桑托什
【问题讨论】:
-
User_Filter_column的数据类型是什么? -
是char数据类型。
-
我奇怪地尝试了下面的查询,我看到了我想看到的结果。 Select Username_column from UserName_Table where Username_column like Any (Select trim(OREPLACE(User_Filter_column, '%', ''))||'%'from User_Filter_Table);
标签: teradata