對於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