Prestoの便利な関数の紹介です。
Prestoに限らず、SQLデータを抽出するときにNULL値を別の値に置き換えたいケースは頻繁に発生します。
例えば、NULLならば0、その他の値はそのまま出力したいときは下記のような書き方になります。
CASE
WHEN column_name1 IS NULL THEN 0
ELSE column_name1
END AS column_name1
これを、下記のように少しだけスッキリ書くことがでます。
COALESCE(column_name1, 0) AS column_name1
この他、次のように引数を複数並べて書くと、左から順番に評価して最初にNULLでなかった列の値を取得できます。
完全外部結合するときなどに便利ですね。
COALESCE(column_name1, column_name2, column_name3, 0) AS column_name1