2017-04-07 4 views
4

プレストにはNVLのアナログはありますか?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

P.S.です
COALESCEは、複数の引数で使用できます。
NULLでない最初の(NULLからの)引数を返します。見つからなければNULLを返します。

coalesce (my_field_1,my_field_2,my_field_3,my_field_4,my_field_5) 
関連する問題