我有一个要求,我必须根据类似条件从表中选择多个用户名。
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%?
有人可以帮忙吗?
在Advance中感谢帮助。
由于 Santhosh
答案 0 :(得分:2)
LIKE
不忽略尾随空白。
'Nicky' LIKE 'N% ' -> false
'Nicky ' LIKE 'N% ' -> true
将数据类型更改为VarChar
或添加TRIM
:
where Username_column like Any (Select TRIM(TRAILING FROM User_Filter_column) from User_Filter_Table);