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)
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)