Hive版本: hive-1.1.0-cdh5.14.2

1. if函数

语法:if(boolean testCondition, T valueTrue, T valueFalseOrNull)
返回值: T
描述:如果testCondition为true,返回valueTrue,否则返回valueFalseOrNull

0: jdbc:hive2://node03:10000> select if(1=2, 'TrueValue', 'FalseOrNull');
+--------------+--+
|     _c0      |
+--------------+--+
| FalseOrNull  |
+--------------+--+
2. 空值判断函数:isnull / isnotnull

语法:isnull( a ) / isnotnull( a )
返回值:boolean
描述:isnull:如果a为空,返回true,否则返回false; isnotnull:如果a不为空,返回true,否则返回false

0: jdbc:hive2://node03:10000> select isnotnull(1) as col1, isnotnull(null) as col2;
+-------+--------+--+
| col1  |  col2  |
+-------+--------+--+
| true  | false  |
+-------+--------+--+
3. 去空函数: nvl

语法:nvl(T value, T default_value)
返回值: T
描述:如果value为空,返回default_value,否则返回value

0: jdbc:hive2://node03:10000> select nvl(null, 'defaultValue') as col1, nvl(1, 'defaultValue') as clo2;
+---------------+-------+--+
|     col1      | clo2  |
+---------------+-------+--+
| defaultValue  | 1     |
+---------------+-------+--+
4. 非空查找函数:coalesce

语法: COALESCE(T v1, T v2, …)
返回值: T
描述:返回第一个不为空的T值,如果都为空,则返回空

0: jdbc:hive2://node03:10000> select coalesce(null,1,2,3) as col1, coalesce(null,null) as col2;
+-------+-------+--+
| col1  | col2  |
+-------+-------+--+
| 1     | NULL  |
+-------+-------+--+
5. 条件判断函数: case when

语法:(1)CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END
(2)CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END
返回值:T
描述:(1)如果a=b,返回c,如果a=d,返回e,否则返回f;
(2)如果a是true,返回b,如果c为true,返回d,否则返回e;

0: jdbc:hive2://node03:10000> select case 1 when 1 then 1 when 2 then 2 else null end as col1,
. . . . . . . . . . . . . . > case when 1=1 then 1 else null end as col2;
+-------+-------+--+
| col1  | col2  |
+-------+-------+--+
| 1     | 1     |
+-------+-------+--+
6. 断言函数: assert_true

语法: assert_true(boolean condition)
返回值:void
描述: 如果condition成立,返回null,不成立则抛出异常

0: jdbc:hive2://node03:10000> select assert_true(2<1);
Error: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed. (state=,code=0)0: jdbc:hive2://node03:10000> select assert_true(1<2);
+-------+--+
|  _c0  |
+-------+--+
| NULL  |
+-------+--+

【Hive】条件函数相关推荐

  1. hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)...

    前言:Hive ql自己设计总结 1,遇到复杂的查询情况,就分步处理.将一个复杂的逻辑,分成几个简单子步骤处理. 2,但能合在一起的,尽量和在一起的.比如同级别的多个concat函数合并一个selec ...

  2. Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数

    hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...

  3. hive 强转为string_Hive的条件函数与日期函数全面汇总解析

    点击上方蓝字  关注我们 在Hive的开窗函数实战的文章中,主要介绍了Hive的分析函数的基本使用.本文是这篇文章的延续,涵盖了Hive所有的条件函数和日期函数,对于每个函数,本文都给出了具体的解释和 ...

  4. Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)

    Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...

  5. hive函数大全(数学函数,集合函数,类型转换,日期函数,条件函数,字符串函数,及侧视图)

    在hive中,可以使用以下命令查看某个函数的用法: desc function extended 函数名字; 比如查函数date_add函数的用法: desc function extended da ...

  6. hive的条件查询语句_Hive SQL 条件函数 IF 详解

    Hive SQL 条件函数 IF 是用于处理单个列的判断查询结果,形式为 if(条件表达式, 结果1, 结果2),相当于 java 中的三目运算符,只是 if 后面的表达式类型可以不一样. 语法说明 ...

  7. 2021年大数据Hive(八):Hive自定义函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive自定义函数 一.概述 1.UDF(User-Define ...

  8. Hive常用函数大全一览

    Hive常用函数大全一览 1 关系运算 1.1 1.等值比较: = 1.2 2.不等值比较: 1.3 3.小于比较: < 1.4 4.小于等于比较: <= 1.5 5.大于比较: > ...

  9. hive 开窗函数_Hive的架构剖析

    本文主要介绍Hive的架构和以及HQL的查询阶段,主要内容包括: Hive的架构 架构中的相关组件介绍 HQL的查询阶段 Hive的架构 hive的基本架构图如下图所示: 相关组件介绍 数据存储 Hi ...

  10. hive中如何把13位转化为时间_重要知识点收藏 | Hive常用函数大全

    关系运算 1.等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE:否则为FALSE 举例: hive>select 1 from lxw_du ...

最新文章

  1. ACM学习历程—HDU5586 Sum(动态规划)(BestCoder Round #64 (div.2) 1002)
  2. 【计算机网络】应用层 : 网络应用模型 ( 应用层概述 | 客户端 / 服务器 模型 | P2P 模型 )
  3. 面向对象——多态,抽象类,接口(二)
  4. 【android】窗口管理
  5. recv原理、高阶版黏包解决方案、基于UDP的socket通信
  6. './mysql-bin.index' not found (Errcode: 13) 的解决方法
  7. 函数参数传递、数组指针、二级指针、左值、引用
  8. vue 实现数据滚动显示_vue实现动态添加数据滚动条自动滚动到底部的示例代码...
  9. Weave Scope安装
  10. OLE DB , ODBC , ADO 知识了解
  11. 学习《HTML+CSS基础课程》里的权值
  12. mysql简单增删改查(CRUD)
  13. 【Flink】Flink checkpoint expired before completing
  14. 自动化,Win32API、UIA和MSAA
  15. 如何自动生成和安装requirements.txt依赖
  16. 离散数学 | ∅ 与 {∅} 出现在离散数学幂集合中
  17. 计算机专业该如何找实习工作?迷茫、不知所措的你值得一看~
  18. Arcpy点点滴滴学习教程
  19. SitePoint Podcast#100:我们的现场周年纪念秀
  20. 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏

热门文章

  1. 2019日历全年一张_蒙太奇手帐丨2019品牌日历合集,手帐素材最佳选择
  2. 均匀三次b样条曲线_西门子数控曲线加工进给速度优化指令
  3. 仿path首页滑动效果
  4. juniper srx电话单通
  5. 随谈---------多年之后,我又回来了
  6. CentOS中zip压缩和unzip解压缩命令详解
  7. Android 服务类Service 的详细学习
  8. 如何绘制平台框架的设计图:使用UML工具
  9. web.config 测试账号
  10. System Center 2012 SP1系列之SCVMM篇-(1)VMM2012安装