NVL式とCOALESCE式

Redshiftで使えるNVLとCOALESCEってどう違うんだろうと気になって調べたところ同じ内容ということでした。
忘れそうなのでメモします。

docs.aws.amazon.com

NVL 式は COALESCE 式と同じです。NVL および COALESCE はシノニムです。

どちらも引数の中からNULLではない最初の値を返すとのこと。

NULLの項目を0などに置き換える時によく使われる印象があります。

ドキュメントからの引用ですが、以下のようにNULLを値を持つテーブルがあったとしたら

create table datetable (start_date date, end_date date);  

insert into datetable values ('2008-06-01','2008-12-31');
insert into datetable values (null,'2008-12-31');
insert into datetable values ('2008-12-31',null);

以下のNVLとCOALESCEは同じ結果を返します。

NVL

select nvl(start_date, end_date)
from datetable
order by 1;

COALESCE

select coalesce(start_date, end_date)
from datetable
order by 1;