Presto检查是否为空并返回默认值(类似于NVL函数)

41

Presto DB中是否有NVL的类似函数?

我需要检查一个字段是否为空,如果为空则返回默认值。

我会像这样进行处理:

SELECT
  CASE 
    WHEN my_field is null THEN 0 
    ELSE my_field 
  END
FROM my_table

但我很好奇是否有什么东西可以简化这段代码。

1个回答

99

这个功能在ISO SQL中的函数是COALESCE

coalesce(my_field,0)

https://prestodb.io/docs/current/functions/conditional.html

P.S. COALESCE可用于多个参数,将返回从左至右第一个非NULL参数,如果均为NULL则返回NULL。

例如:

coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5)

10
如果你需要,同样适用于AWS Athena。 - ChikuMiku

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接