当前位置:   article > 正文

HiveSQL的CASE-WHEN的使用_hive case when用法

hive case when用法

HiveSQL的CASE-WHEN的使用


case when 条件 then 条件为真时的值 else 条件为假时的值 end


  1. SELECT
  2. DATE(DATE_SUB(A.CREATE_TIME, -CAST(B.CYCLE AS INT))),
  3. DATE(DATE_SUB(A.CREATE_TIME, -CAST(B.CYCLE AS INT))),
  4. FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd'),
  5. CASE WHEN
  6. DATE(DATE_SUB(A.CREATE_TIME, -CAST(B.CYCLE AS INT))) <= FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd')
  7. THEN DATE(DATE_SUB(A.CREATE_TIME, -CAST(B.CYCLE AS INT)))
  8. ELSE NULL
  9. END AS TIME_EXIT
  10. FROM ODS.S02_ACT_WEIXINVC A
  11. INNER JOIN ODS.S02_ACT_WYH_PRODUCT B
  12. ON A.PRODUCT_ID = B.ID
  13. AND A.PRODUCT_ID IN
  14. (1881560122394597, 1881560122394596, 1881560122394598) ;

如果只是简单地判断是否为空,赋个默认值用 nvl 函数:

  1. select nvl(cast(mem.mb_last_login_time as String),'1900-01-01 00:00:00')
  2. FROM ods.s02_member mem where mid = 1816945285831115;


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/499601
推荐阅读
相关标签
  

闽ICP备14008679号