Presto 检查 NULL 和 return 默认值(NVL 模拟)

Presto check if NULL and return default (NVL analog)

Presto DB中有NVL的模拟吗?

我需要检查字段是否为 NULL 和 return 默认值。

我是这样解决的:

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

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

ISO SQL 函数是 COALESCE

coalesce(my_field,0)

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

P.S。 COALESCE 可以与多个参数一起使用。它将 return 第一个(从左边开始)非 NULL 参数,如果找不到则为 NULL。

例如

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