SQL 字符串與數字等於比較與null的判斷邏輯


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM