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

原文地址:https://www.cnblogs.com/leodaxin/p/11365738.html