首页 > 解决方案 > SAS Hive Hadoop 中的 Not In Where 条件删除空白

问题描述

我希望有人遇到过这个!

我注意到当在 SAS Hadoop 中使用“Not In”条件(显式 SQL 传递)时,它将删除与其相关的字段(原因字段)中的空白。

如果使用“标准”Proc SQL,它只会删除声明的内容而不是空白。

有没有解决方法,所以我可以保留空白?

示例代码:

    Create Table TEST_02 As
    Select
     a.*
    ,b.Info
    ,b.Info2

    From TEST_01 a

    Left Join TEST_03 b
    ON a.SERVICE = b.SERVICE

    Where a.REASON Not In ('REASON1', 'REASON2', 'REASON3')
    And a.ACTIVITY Not In ('ACTIVITY1','ACTIVITY2')
    And a.e_date >= >= '2018-01-01'

标签: hadoophivesashiveql

解决方案


试试这个变化

( a.REASON Not In ('REASON1', 'REASON2', 'REASON3') or a.REASON IS NULL )
and
( a.ACTIVITY Not In ('ACTIVITY1','ACTIVITY2') or a.ACTIVITY IS NULL )

推荐阅读