Hive判空函数 COALESCE 和 NVL 使用示例
1. 在Hive中, COALESCE
和 NVL
函数都是用于处理NULL值的函数,以下是它们的用途总结:
-
COALESCE:
COALESCE
函数用于返回参数列表中第一个非NULL的数值或表达式。- 语法: COALESCE(value1, value2, ...) ,参数可以是多个数值或表达式。
- 返回值:返回参数列表中第一个非NULL的数值或表达式,如果所有参数均为NULL,则返回NULL。
- 示例: SELECT COALESCE(column1, column2, 'N/A') AS result FROM table_name;
-
NVL:
NVL
函数用于将NULL值替换为指定的默认值。- 语法: NVL(value, default_value) ,其中value是要检查的值,default_value是要替换的默认值。
- 返回值:如果value为NULL,则返回default_value,否则返回value。
- 示例: SELECT NVL(column1, 'No Value') AS result FROM table_name;
2. 测试代码和执行结果如下:
c
hive> SELECT COALESCE(NULL, NULL, 'abc');
OK
abc
Time taken: 0.062 seconds, Fetched: 1 row(s)
hive> SELECT NVL(NULL, 'abc');
OK
abc
Time taken: 0.098 seconds, Fetched: 1 row(s)
总的来说,
COALESCE
函数用于返回参数列表中第一个非NULL的值,而NVL
函数用于将NULL值替换为指定的默认值。开发者可以根据具体需求选择合适的函数来处理NULL值或选择非NULL的值。