在 Teradata 中对多个值使用 like

Using like in Teradata for multiple values

我有一个要求,我必须 select 基于类似条件的 table 多个用户名。

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') 放在一个 table 中,它将由业务用户填充。说 table User_Filter.

User_Filter_Table:
User_Filter_column
-----------------
N%
Megan

我已如下更改我的查询以从 table 获取过滤器。

Select Username_column 
from UserName_Table 
where Username_column like Any (Select User_Filter_column from User_Filter_Table);

奇怪的是,结果如下:

Username_column
--------
Megan

为什么查询跳过了 N%?

有人可以帮忙吗?

感谢提前的帮助。

谢谢 桑托斯

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