在Teradata中使用类似于多个值

时间:2016-01-27 19:59:10

标签: teradata

我有一个要求,我必须根据类似条件从表中选择多个用户名。

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

1 个答案:

答案 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);