使用函数替换NULL

时间:2016-06-09 13:00:47

标签: hadoop hive

是否有任何函数在hive中用NULL替换NULL或空格?当我执行下面的语句时,它返回一个语义异常,说明trim仅适用于string / nvarchar

CASE
 WHEN TRIM(q.address) = '' OR q.address IS NULL THEN '?'
 ELSE q.address END as address

请帮忙。

2 个答案:

答案 0 :(得分:1)

使用LENGTH()检查列值的长度。它返回> 0,如果有一些值,则返回0表示空或NULL值。

还在CASE WHEN ... END块

中构建列值

最终查询可能如下所示:

SELECT CASE WHEN LENGTH(address) > 0 THEN address ELSE '?' END AS address
FROM table_name;

请参阅Replace the empty or NULL value with specific value in HIVE query result

希望这能帮到你!!!

答案 1 :(得分:0)

为了替换空值,您可以使用Coalesce

Coalesce( q.address, '?')

但是看起来你的场地地址不适合使用修剪,你能告诉我们那个场地的类型吗?