首页 > 解决方案 > 如何过滤不包含特定文本的列 - 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

寻找排除特定关键字值的结果..

标签: textfilteringimpalahue

解决方案


以下查询在 Hue-Impala 上运行时将排除那些具有rate_access_code_shopped包含值的列的记录defor 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因此,具有包含defabc两者def的列的值的任何记录都abc将被排除并作为结果返回。

让我知道它是否有帮助!


推荐阅读