SQL エディタでクエリを入力するとき または計算を作成するとき 、Presto SQL 構文 を使用します。特定の条件を満たすかどうかに基づいて値を返すには、以下の一般的な式が便利です。
ケース
条件のリストを評価し、最初にマッチした条件または真の条件に基づいて値を返すには、CASE
式を使用します(if/else ロジックを有効にする場合など)。CASE
には2つの形式がある:
- 単純な 形式では、
CASE
は、次のように、特定の式についてリストを評価し、その値を返す:
CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ] END
- 検索された 形式では、
CASE
はブール値のリストを評価し、最初のTRUE
条件の値を返します:
CASE WHEN 条件 THEN 結果 [ WHEN ... ] [ ELSE 結果 ] END
例えば、単純な形では、マッチする式に基づいて値("one "または "two")を返す:
SELECT expression, CASE expression WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'many' END
どの条件も真でない場合、CASE
は、ELSE
節の値(この例では "many")を返し、ELSE
節がない場合は、NULL
を返す。
注: 一つの条件が真かどうかに基づいて値を返すには、IF
ステートメントを使う。
コールセ
リストの最初の非NULL値を返すには、COALESCE
式を COALESCE(value1,value2,value3) として使用する。
IF
条件が真か偽かによって値を返すには、IF
ステートメントを IF(条件,真の値,偽の値) のように使う。
注: 条件が偽で、false_value が指定されていない場合、IF
文はNULL
を返す。
IS NULL または IS NOT NULL
値が空かNULL
かを調べるには、IS NULL
またはIS NOT NULL
演算子を使用する:
- 空の値をテストするには、
IS NULL
を使用します。 - 空でない値をテストするには、
IS NOT NULL
を使用します。
例えば、住所のない顧客データをテストする:
SELECT Customer_Name, Contact_Name, Address
FROM Customers
WHERE Address IS NULL
トルコ リラ
破損または無効なデータにより式が失敗した場合にNULL
を返すには、TRY
式を TRY(式) として使用する。TRY
はこれらのエラーを処理する:
- ゼロによる除算
- 無効な
CAST
または関数引数 - 数値が範囲外