HIVE / Hadoop-如何使用like语句创建具有多个通配符值的查询(我尝试与command相似,但是不起作用)。
查询示例
select *
from schema.table a
where a.apple = '1'
and a.berry LIKE ('A10%','B10%')
;
上面没有用。我确实尝试用IN替换LIKE,但查询拒绝停止运行,不确定为什么IN命令导致查询继续运行,甚至没有产生结果。在这里使用OR是我唯一的选择吗?我希望使用通配符值,大约有15个值。作为附带说明的问题,可以帮助我更好地理解上述问题,
我发现使用以下命令时,我的查询没有结束时间:
and a.berry IN ('A10%')
与and a.berry LIKE 'A10%'
我应该始终将LIKE与通配符%一起使用吗?
最佳答案
LIKE
和IN
无法满足您的要求:LIKE
对标量操作数进行操作,而IN
不对模式进行匹配。
您需要重复该表达式:
and (a.berry like 'A10%' or a.berry like 'B10%')
另一个选择是使用正则表达式-当值列表变长时,它的键入时间较短:and a.berry rlike '^(A10)|(B10)'
要么:and a.berry rlike '^[AB]10'
关于sql - SQL Hive Hadoop-具有Like语句的多个通配符值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63892779/