当前位置:   article > 正文

HIVE_Sql的流程控制语句IF,Case when,及空值判断NVL,coalesce,和greatest/least函数。

HIVE_Sql的流程控制语句IF,Case when,及空值判断NVL,coalesce,和greatest/least函数。

一,Case when的用法

   在SQL语句中实现“if-then-else”逻辑计算功能
  • 1

Case when 的用法: 一旦满足了某一个WHEN, 则这一条数据就会退出CASE WHEN , 而不再考虑 其他CASE;

Case when 的用法

– 搜索Case函数:

 CASE

WHEN [condition] THEN result

[WHEN [condition] THEN result ...]

[ELSE result]  END
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

语义:

如果某个when子句后面的条件condition为true,则返回相应的when子句后面的值result;

如果所有的when子句后面的条件condition都不为true,则返回else子句后面的值;

如果没有else部分则返回null。

  select name,id,(case when id=34 then salary*2

                                when id=45 then salary*3

                                else salary

                                end) new_salary
                                from semp;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

– 简单Case函数

CASE  value

WHEN  [compare_value] THEN  result

[WHEN [compare_value] THEN  result ...] 

[ELSE  result]  END
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

语义:

将case后面的值value分别和每个when子句后面的值co

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

闽ICP备14008679号