hive/hadoop—如何使用like语句创建具有多个通配符值的查询(我尝试了similar to命令,但没有成功)。
示例查询
select *
from schema.table a
where a.apple = '1'
and a.berry LIKE ('A10%','B10%')
;
上述方法不起作用。我确实尝试将like替换为in,但是查询拒绝停止运行,不确定in命令为什么导致查询继续运行,甚至不产生结果。是用还是我唯一的选择?我有大约15个值,我想对通配符值。
作为一个旁注问题,为了更好地帮助我理解上述问题,我注意到我的查询在使用时没有结束时间:
and a.berry IN ('A10%')
与
and a.berry LIKE 'A10%'
我应该一直用like和通配符%吗?
1条答案
按热度按时间gpnt7bae1#
LIKE
以及IN
不能做你想做的事:LIKE
对标量操作数执行操作,而IN
不进行模式匹配。您需要重复以下表达式:
另一个选择是使用正则表达式-当值列表变长时,键入正则表达式会变短:
或: