CONCAT

構文

目的

CONCATは、2つ以上の引数を入力として取得し、すべての引数の連結を戻します。

引数のデータ型には、CHARVARCHAR2NCHARNVARCHAR2CLOBまたはNCLOBを使用できます。他のデータ型の引数は、連結前に暗黙的にVARCHAR2に変換されます。

char1と同じ文字セットの文字列が戻されます。そのデータ型は、引数のデータ型によって決まります。

2つ以上の異なるデータ型を連結すると、可逆式変換となるデータ型が戻されます。したがって、引数の1つがLOBの場合、戻り値はLOBとなります。引数の1つが各国語データ型の場合は、戻り値は各国語データ型となります。

戻り値のデータ型に対するルール

すべての引数の中に:

  • NCLOBがある場合、またはCLOBおよびNVARCHAR2 /NCHARがある場合、戻り型はNCLOBです。

  • それ以外の場合でCLOBがある場合、戻り型はCLOBです

  • それ以外の場合でNVARCHAR2がある場合、またはVARCHAR2およびNCHARがある場合、戻り型はNVARCHAR2です

  • それ以外の場合でVARCHAR2がある場合、戻り型はVARCHAR2です

  • それ以外の場合でNCHARがある場合、戻り型はNCHARです

  • それ以外の場合、戻り型はCHARです

戻されるデータ型の例

CONCAT(CLOB, NCLOB)はNCLOBを戻します。

CONCAT(CLOB, NCHAR)はNCLOBを戻します

CONCAT(CLOB, CHAR)はCLOBを戻します

CONCAT(VARCHAR2, NCHAR)はNVARCHAR2を戻します

CONCAT(CHAR, VARCHAR2)はVARCHAR2を戻します

CONCAT(CHAR, VARCHAR2, CLOB)はCLOBを戻します

CONCAT(CHAR, NVARCHAR2, CLOB)はNCLOBを戻します

この関数は、連結演算子(||)に相当します。

関連項目:

次の例では、3つの文字列を連結します。

SELECT CONCAT( last_name, '''s job category is ', job_id) "Job" 
  FROM employees 
  WHERE employee_id = 152;
 
Job
------------------------------------------------------
Hall's job category is SA_REP