のCOALESCE COALESCEは、引数がNULLであるかどうかを確認するために使用されます。
リスト内でNOT NULL値を順番にチェックし、最初のNOT NULL値を返します。
:
COALESCE(Argument list,)
引数リスト-テーブルの列または式
COALESCEは、そのすべての引数がnullと評価された場合にNULLを返します。
それ以外の場合は、指定された式リスト内の最初のnull以外の引数の値を返します。
各COALESCE関数には、少なくとも2つのオペランドが必要です。 二つの列または一つのデフォルト値を持つ一つの列のいずれか。
以下のように複数の列を合体させることができます:
COALESCE(col1, col2, col3, 0)
上記のコードは、col1がnullの場合、col2をチェックすると述べています。
col2がnullの場合、col3をチェックします。
col3もnullの場合、0が出力されます。
coalesceがnot null値を持つ列のいずれかを検出した場合、その列の値がクエリによって返されます。 (左から右の優先順位)
例 : 1
国がNULL値を取る場合、Teradata
SELECT COALESCE(Country,'US') as Output
出力によって’US’が提供されます
国 | 出力 |
---|---|
イタリア | イタリア |
NULL | US |
例:2
次の例は、指定された個人の自宅の電話番号(存在する場合)、またはHomePhoneがnullの場合はoffice phone、存在する場合はCellPhoneを返し、homeとoffice phoneの両方の値がnullです。 3つの値がすべてnullの場合はNULLを返します。
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
デフォルト値が指定されている場合、すべての入力フィールドがnullの場合、デフォルト値が返されます
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
例:3
COALESCEを||や*や+などの非比較演算子と組み合わ
SELECT (COALESCE(100,0)) * 5;