个人技术分享

Hive判空函数 COALESCE 和 NVL 使用示例

1. 在Hive中, COALESCENVL 函数都是用于处理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. 测试代码和执行结果如下:
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的值。