Hive的空值判断函数

简介: Hive的空值判断函数

一、NVL()

如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式A和表达式B的数据类型必须为同一个类型。

1,格式:

NVL(表达式A,表达式B)

2,示例:

SELECT * FROM test.data_test 

在这里插入图片描述

SELECT id ,name,age,sex, nvl(sex,'无') FROM test.data_test 

在这里插入图片描述

二、coalesce()

按顺序判断,返回第一个非空值。

1,格式:

coalesce(exp1,exp2,...)
当exp1为NULL时,计算exp2,当exp2为空时,计算exp3,……一直到计算到第一个不为NULL的exp,如果都为NULL,则返回NULL
注意:这里的表达式也当然可以是不同的列

2,示例

SELECT * FROM test.data_test 

在这里插入图片描述

SELECT id ,name,age,sex,coalesce(sex,name,age)FROM test.data_test;

在这里插入图片描述

按照自己的需求与习惯,选择合适的函数处理自己的开发脚本!

相关文章
|
19天前
|
SQL HIVE
Hive LAG函数分析
Hive LAG函数分析
42 0
|
19天前
|
SQL JSON Java
Hive【Hive(四)函数-单行函数】
Hive【Hive(四)函数-单行函数】
|
5天前
|
SQL HIVE
hive高频函数(一)
hive高频函数(一)
14 0
|
5天前
|
SQL Java 程序员
Hive反射函数的使用-程序员是怎么学UDF函数的
Hive反射函数的使用-程序员是怎么学UDF函数的
4 0
|
5天前
|
SQL HIVE 数据格式
Hive高频函数(二)
Hive高频函数(二)
13 0
|
8天前
|
SQL 分布式计算 HIVE
Hive Cli / HiveServer2 中使用 dayofweek 函数引发的BUG!
在Hive 3.1.2和Spark 3.0.2集群环境中,遇到`dayofweek`函数bug。当`create_date`为字符串类型时,`dayofweek`函数结果错位。修复方法是将`create_date`转换为`date`类型。在Spark SQL中,原始代码能正常运行,未出现此问题。因此建议在Hive中使用转换后的日期类型以避免错误。
|
8天前
|
SQL HIVE
【Hive SQL】字符串操作函数你真的会用吗?
本文介绍了SQL中判断字符串是否包含子串的几种方法。`IN`函数判断元素是否完全等于给定元素组中的某项,而非包含关系。`INSTR`和`LOCATE`函数返回子串在字符串中首次出现的位置,用于检测是否存在子串。`SUBSTR`则用于提取字符串的子串。`LIKE`用于模糊匹配,常与通配符配合使用。注意`IN`并非用于判断子串包含。
|
19天前
|
SQL XML JSON
Hive函数全解——思维导图 + 七种函数类型
Hive函数全解——思维导图 + 七种函数类型
27 2
Hive函数全解——思维导图 + 七种函数类型
|
19天前
|
SQL Java 数据处理
【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
【4月更文挑战第17天】【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
|
19天前
|
SQL 数据处理 HIVE
【Hive】写出Hive中split、coalesce及collect_list函数的用法?
【4月更文挑战第17天】【Hive】写出Hive中split、coalesce及collect_list函数的用法?