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;

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

この例では、以下のようになります。
- 最初の
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;

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

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

Remarks
シングルクォート(‘)を含む文字列を連結するには、シングルクォートを2重にエスケープする必要があります。 を含む文字列を連結するには、次の例のようにシングルクォートを二重にしてエスケープする必要があります。
SELECT CONCAT('let''s',' try this') FROM dual;
この例では、文字列 let's にシングルクォート(‘)が含まれているので、シングルクォートを2重にしてエスケープしました(“)。
このチュートリアルでは、OracleのCONCAT()関数を使って2つの文字列を連結する方法を学びました。
- Was this tutorial helpful?
- YesNo