对于MYSQL而言,select 1> '' 是true,mysql会将空字符串转成0进行处理。
但是对于hive而言,任何数与''比较都是null。hive对字符串转int时候使用的是Int.parseInt因此对于转回失败的值返回null,因此与常见关系数据库查询不统一,需要格外注意!!!!!
sku_cid3是int类型,sku_cid3!=null 永远都是null
SELECT cast(sku_brand_id as int) AS brand_code, cast(sku_cid3 as int) AS third_cate_code, count(1) AS ad_pv FROM ad.ad_base2_impression WHERE dt='2019-08-15' AND sku_brand_id != '0' AND sku_cid3 IS NOT NULL AND sku_cid3 <> '' GROUP BY sku_brand_id, sku_cid3