2017-04-07 103 views
4

是否有presto中的NVL模擬?Presto檢查是否爲NULL並返回默認值(NVL模擬)

我需要檢查字段是否爲NULL並返回默認值。

我莫名其妙地解決這個問題是這樣的:

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

不過我很好奇,如果有什麼事,可以簡化此代碼。

我的驅動程序版本爲0.171

回答

5

爲與ISO SQL函數是COALESCE

coalesce(my_field,0) 

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

附:
COALESCE可以與多個參數一起使用。
它將返回第一個(從左邊)非NULL參數,如果沒有找到則返回NULL。
例如

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