在 impala 中搜索包含给定单词的句子

Search a sentence including given words in impala

我想在一个栏目中搜索这 3 个词:Hi,teo,code 以便取回内容 'Teo, Hi your pass is 123code'

我尝试了下面的查询,但它不是 return 上面的句子。还尝试将 | 放在 rlike 中,但如果我放置 OR,它将显示至少包含这 3 个单词之一的句子。也试过 regexp_like

select *
from db.table
where content rlike 'Hi teo code'

如果单词有特定顺序,请说“Teo”; “你好”; “代码”,您可以使用以下内容: select * from db.table where content like "%Teo%Hi%Code%"; 它将查找该形式的任何字符串。

否则,尽管效率可能较低,但以下方法可行: select * from db.table where content like "%Teo%" and content like "%Hi%" and content like "%Code%";

已在 sqlite3 和 sql - 网络版上进行了测试。

编辑:我刚刚看到它被标记为impala。尽管我的解决方案也适用于此,但它区分大小写。 不区分大小写的字符串查找器是 ILIKE 而不是 LIKE