web-dev-qa-db-ja.com

PrestoはNULLかどうかをチェックし、デフォルトを返します(NVL analog)

Presto DBにNVLの類似物はありますか?

フィールドがNULLかどうかを確認し、デフォルト値を返す必要があります。

私はこれを何とかこのように解決します:

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

しかし、このコードを単純化できるものがあるかどうか興味があります。

16
Sasha Shpota

そのための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)