【PostgreSQL】文字列の結合、nullを結合する

PostgreSQL構文

文字列を結合する方法

文字列の結合には「||」を使用します。

|| … シフトキーを押しながら¥のキーで入力します。

select 'abc' || 'DEF';           -- "abcDEF"
select 'abc' || 'DEF' || '123';  -- "abcDEF123"

 

 

nullの結合(concat)

結合する文字列にnullが含まれる場合、結合した結果はnullとなってしまいます。

それを防ぐためには、concatを使用します。

--concatを使用するとnull文字は無視されて連結されます。
concat( 結合する文字列1 , 結合する文字列2 , ・・・)

--nullと結合するとnullになる例
select 'abc' || 'DEF' || null;        -- null

--concatの使用例(そのまま実行できます)
select concat('abc' , 'DEF' , null);  -- "abcDEF"

 

 

nullの結合(coalesce)

concatではなく、coalesceを使用する方法もあります。

coalesceは一つ目の引数がnullの時、二つ目の引数を返す関数です。

--coalesce
coalesce( 文字列 , 左の文字列がnullの時ここで指定した文字を返す)

--coalesce例1 nullの時'abc'で返す
select coalesce(null , 'abc') ; -- "abc"

--coalesce例2 結合する文字列それぞれにcoalesceを付けて結合する
select coalesce(null,'abc') || coalesce(null,'DEF'); -- "abcDEF"