【PostgreSQL】文字列の結合、nullを結合する
文字列を結合する方法
文字列の結合には「||」を使用します。
|| … シフトキーを押しながら¥のキーで入力します。
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"