Oracle の CONCAT() 関数は、2 つの文字列を連結し、連結後の文字列を返します。

構文

以下に CONCAT() 関数の構文を示します:

CONCAT(string1,string2)

Oracle CONCAT()CONCAT()関数を複数回適用するか、連結演算子(||)を使用する必要があります。

引数

CONCAT() 関数は、CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、NCLOBのいずれかのデータ型を持つ2つの引数を受け入れます。

string1

は 2 番目の文字列に連結する 1 番目の文字列です。

string2

は連結する 2 番目の文字列です。

戻り値

CONCAT() 関数は、文字セットが最初の文字列引数の文字セットに依存する文字列を返します。

結果文字列のデータ型は、2つの引数のデータ型に依存します。

例えば、CLOBの値とNCLOBの値を連結した場合、返される文字列のデータ型はNCLOBになります。

次のステートメントは、2つの文字列 'Happy'' coding' を連結します。

SELECT CONCAT('Happy',' coding')FROM dual;
Oracle CONCAT function example

2つ以上の文字列を連結したい場合は、'Happy'' coding'CONCAT()関数を複数回適用する必要があります。

SELECT CONCAT( CONCAT( 'Happy', ' coding' ), ' together' )FROM dual;
Oracle CONCAT function - join three strings

この例では、以下のようになります。

  • 最初のCONCAT()'Happy'' coding'の2つの文字列を連結して、結果の文字列を返します。
  • 2つ目のCONCAT()CONCAT()'Happy coding'' together''Happy coding together'とします。

連結演算子|

CONCAT()||)も提供しており、2つ以上の文字列をより読みやすい形で連結することができます。

string1 || string2 || string3 || ...

例えば、3つの文字列を連結する場合。 'Happy'' coding'' together'||)を使用します。

SELECT 'Happy' || ' coding' || ' together'FROM dual;
Oracle CONCAT function - join three strings

サンプルデータベースの次のemployeesテーブルをご覧ください。

employeesテーブル

次のステートメントでは、連結演算子を使用して、ファーストネーム、スペース、ラストネームから従業員のフルネームを構築しています。

SELECT first_name || ' ' || last_nameFROM employees;
Oracle CONCAT function - query example

Remarks

シングルクォート(‘)を含む文字列を連結するには、シングルクォートを2重にエスケープする必要があります。 を含む文字列を連結するには、次の例のようにシングルクォートを二重にしてエスケープする必要があります。

SELECT CONCAT('let''s',' try this') FROM dual;

この例では、文字列 let's にシングルクォート(‘)が含まれているので、シングルクォートを2重にしてエスケープしました(“)。

このチュートリアルでは、OracleのCONCAT()関数を使って2つの文字列を連結する方法を学びました。

  • Was this tutorial helpful?
  • YesNo

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です