文字列の編集、文字列を結合、文字列を連結する

syntax

CONCAT ( string1 , string2 )
return [ string ]

parameter

string1文字列式
string2string1 に連結する文字列式

return

  • 文字列 string1string2 を連結した文字列を戻す。

avail

  • SQL および PL/SQL の両方で使用可能。

CONCAT 関数の内容

文字列 string1string2 を連結した (CONCATenated) 文字列を戻す。
引数は常に 2つしかない。3つ以上の文字列を結合するには関数の中に関数を埋め込んで表現する。
VARCHAR2 での文字列の連結の最大サイズは 4000 バイト ⇒ 対処法 ORA-01704: 文字列リテラルが長すぎます

CONCAT 使用例

SQL> set null '<NULL>'
SQL> select str1, str2, concat(str1, str2) conc from concat_sample;
 
STR1                 STR2                 CONC
-------------------- -------------------- --------------------
あああ               いいい               あああいいい
<NULL>               いいい               いいい
あああ               <NULL>               あああ
<NULL>               <NULL>               <NULL>

SQL*Plus の NULL 表示

SQL> select str1, str2, str3, concat(concat(str1, str2), str3) conc
  2   from concat_sample;
 
STR1       STR2       STR3       CONC
---------- ---------- ---------- --------------------
あああ     いいい     ううう     あああいいいううう
<NULL>     いいい     ううう     いいいううう
あああ     <NULL>     ううう     あああううう
<NULL>     <NULL>     ううう     ううう

文字列結合の豆知識

連結演算子 と CONCAT 関数

Oracle には演算子として同じ機能をもつ 連結演算子(||) が用意されている。
多くのプラットホームでは パイプ(||) が連結の機能をもつが、一部の環境において似ている記号が割り当てられているプラットホームが存在する。

すべてのプラットホームでソースの一切の変更無しでも使用できるようにするために CONCAT 関数が用意されている。(クロスプラットホーム対応のためらしい)
連結演算子(||) より便利な関数というわけでもない。むしろ使いにくいと言えるので使われることはほとんどない。



CONCAT システム変数

SQL 関数 - CONCAT 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)