LoginSignup
0
0

More than 1 year has passed since last update.

【Athena】nullだったらこの値、を繰り返したい【COALESCE】

Posted at

nullだったらこの値を入れる

外部結合などにより、値があれば、なかったらという条件をつけたいとします。if文を使うと以下のようになります。

SELECT
    IF((hoge IS NULL), foo, hoge) as column_name
FROM
... 

これが一つなら特にややこしくないんですが、hoge, foo, bar, piyo と値があった場合if文をnestしていく事となり、書くのも読むのもかなりしんどくなります。実際に例をあげたいのですが、面倒なので書きません…。

COALESCEを使う

そういう場合はCOALESCEを使うと簡単に記述できます。

SELECT
    COALESCE(hoge, foo, bar, piyo)
FROM

このように記述します。左から評価していくのでhoge, foo, bar, piyoの順に最初にnull出なかった値が入ります。
知っていると簡単にかけるのですが、しらないとifを何度も書いたりcase文を記述することになるので注意です

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0