【Hive】条件函数
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】条件函数相关推荐
- hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)...
前言:Hive ql自己设计总结 1,遇到复杂的查询情况,就分步处理.将一个复杂的逻辑,分成几个简单子步骤处理. 2,但能合在一起的,尽量和在一起的.比如同级别的多个concat函数合并一个selec ...
- Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数
hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...
- hive 强转为string_Hive的条件函数与日期函数全面汇总解析
点击上方蓝字 关注我们 在Hive的开窗函数实战的文章中,主要介绍了Hive的分析函数的基本使用.本文是这篇文章的延续,涵盖了Hive所有的条件函数和日期函数,对于每个函数,本文都给出了具体的解释和 ...
- Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)
Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...
- hive函数大全(数学函数,集合函数,类型转换,日期函数,条件函数,字符串函数,及侧视图)
在hive中,可以使用以下命令查看某个函数的用法: desc function extended 函数名字; 比如查函数date_add函数的用法: desc function extended da ...
- hive的条件查询语句_Hive SQL 条件函数 IF 详解
Hive SQL 条件函数 IF 是用于处理单个列的判断查询结果,形式为 if(条件表达式, 结果1, 结果2),相当于 java 中的三目运算符,只是 if 后面的表达式类型可以不一样. 语法说明 ...
- 2021年大数据Hive(八):Hive自定义函数
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive自定义函数 一.概述 1.UDF(User-Define ...
- Hive常用函数大全一览
Hive常用函数大全一览 1 关系运算 1.1 1.等值比较: = 1.2 2.不等值比较: 1.3 3.小于比较: < 1.4 4.小于等于比较: <= 1.5 5.大于比较: > ...
- hive 开窗函数_Hive的架构剖析
本文主要介绍Hive的架构和以及HQL的查询阶段,主要内容包括: Hive的架构 架构中的相关组件介绍 HQL的查询阶段 Hive的架构 hive的基本架构图如下图所示: 相关组件介绍 数据存储 Hi ...
- hive中如何把13位转化为时间_重要知识点收藏 | Hive常用函数大全
关系运算 1.等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE:否则为FALSE 举例: hive>select 1 from lxw_du ...
最新文章
- ACM学习历程—HDU5586 Sum(动态规划)(BestCoder Round #64 (div.2) 1002)
- 【计算机网络】应用层 : 网络应用模型 ( 应用层概述 | 客户端 / 服务器 模型 | P2P 模型 )
- 面向对象——多态,抽象类,接口(二)
- 【android】窗口管理
- recv原理、高阶版黏包解决方案、基于UDP的socket通信
- './mysql-bin.index' not found (Errcode: 13) 的解决方法
- 函数参数传递、数组指针、二级指针、左值、引用
- vue 实现数据滚动显示_vue实现动态添加数据滚动条自动滚动到底部的示例代码...
- Weave Scope安装
- OLE DB , ODBC , ADO 知识了解
- 学习《HTML+CSS基础课程》里的权值
- mysql简单增删改查(CRUD)
- 【Flink】Flink checkpoint expired before completing
- 自动化,Win32API、UIA和MSAA
- 如何自动生成和安装requirements.txt依赖
- 离散数学 | ∅ 与 {∅} 出现在离散数学幂集合中
- 计算机专业该如何找实习工作?迷茫、不知所措的你值得一看~
- Arcpy点点滴滴学习教程
- SitePoint Podcast#100:我们的现场周年纪念秀
- 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏