SQL

Prestoリファレンス【条件式】

     
       

条件式の紹介

Prestoの条件式についてご紹介します。

 

条件式は関数ではないですが、データ加工時に多用すると思いますので自身の備忘録ついでご紹介をさせていただきます。

 

条件式一覧

条件式で型変換関数(cast)が出てくるため、過去に書いたPrestoの型変換関数の記事リンクを掲載しておきます。

 

条件式概要

No関数説明
1case一般的なSQLの条件式に同様にカラムの値が条件と
合致した場合、任意の値を返却します。
Query例
 
2ifcase同様に条件式に従い、カラムの値が条件と
合致した場合、任意の値を返却します。
Query例
 
3coalesce第1引数の値がnullだった場合に、第2引数に
入れたカラム、もしくは値で返却します。
また引数は複数渡すことが可能で第1引数,第2引数と
nullか判定し、全てnullだった場合、一番最後
(一番右側に渡した引数)の値を返却します。
Query例
 
4nullif第1引数と第2引数が等しい場合、nullを
返却します。主にはゼロ除算回避のために
利用されます。
Query例
 
5trytryを利用することで下記を回避することができます。
・ゼロ除算
・無効なcast、または関数の引数など
・数値範囲外
Query例
 

 

1.case Query例

caseの利用Queryを下記に記載します。

 

2.if Query例

ifを利用した場合の条件式を記載いたします。※caseで記述した場合のQueryも参考までに記載します。

 

3.coalesce Query例

coalesceを利用した場合の条件式を記載します。

 

4.nullif Query例

nullifを利用した場合の条件式を記載します。※caseで記述した場合のQueryも参考までに記載します。

 

5.try Query例

tryを利用した場合の条件式を記載します。

 

備考

他のRDBと特に変わった挙動は無いと思いますのでSQLになれている方からすると釈迦に説法かもしれません。

もし至らない箇所等あればTwitterにDMいただけますと大変うれしいです。

 

参照元

https://prestodb.io/docs/0.172/functions/aggregate.html

 

 

 

スポンサードリンク