34

Presto DB 中是否有 NVL 的类似物?

我需要检查一个字段是否为 NULL 并返回一个默认值。

我以某种方式解决了这个问题:

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

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

4

1 回答 1

79

ISO SQL 函数是COALESCE

coalesce(my_field,0)

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

PSCOALESCE可以与多个参数一起使用。它将返回第一个(从左侧开始)非 NULL 参数,如果未找到,则返回 NULL。

例如

coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5)
于 2017-04-07T10:09:11.553 回答