text - 如何过滤不包含特定文本的列 - Impala / Hue
问题描述
我是通过 Hue 使用 Impala 的新手,并且希望返回不包含列中特定文本的查询结果。
数据回来就像
"abc, def, hgi, jkl"
"abc, jkl"
"abc, def, jkl"
我想过滤掉包含“abc”和“jkl”的结果。
我有一点时间,认为这里的答案非常简单,所以请怜悯:)。
SELECT * FROM `sch_edm`.`fact_blah_hub_booking`
where created_datetime >= '2019-01-01 00:00:00'
and rate_access_code_shopped like '%def%' or '%abc%' is false
SELECT * FROM `sch_edm`.`fact_blah_hub_booking`
where created_datetime >= '2019-01-01 00:00:00'
and rate_access_code_shopped like '%abc%' or '%jkl%' isfalse
寻找排除特定关键字值的结果..
解决方案
以下查询在 Hue-Impala 上运行时将排除那些具有rate_access_code_shopped
包含值的列的记录def
or abc
。
SELECT * FROM sch_edm.fact_blah_hub_booking
WHERE created_datetime >= '2019-01-01 00:00:00'
AND rate_access_code_shopped NOT LIKE '%def%'
AND rate_access_code_shopped NOT LIKE '%abc%';
rate_access_code_shopped
因此,具有包含def
或abc
两者def
的列的值的任何记录都abc
将被排除并作为结果返回。
让我知道它是否有帮助!