CONCAT
CONCAT関数は、新しい文字列を作成するために、ある文字列と別の文字列を連結します。
SQL構文
CONCAT(Expression1, Expression2)
パラメータ
CONCATには、次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
|
|
|
|
|
|
説明
-
CONCATは、Expression2が連結されたExpression1を返します。 -
Expression1とExpression2の型には互換性が必要です。 -
Expression2がNULLの場合、CONCATはExpression1を返します。Expression1がNULLの場合、CONCATはExpression2を返します。 -
Expression1とExpression2の両方がNULLの場合、CONCATはNULLを返します。 -
NCHARとNVARCHAR2も同様に扱われます。扱われるオペランドのいずれかが可変長であれば、戻り値も可変長になります。その他の場合、戻り値は固定長です。 -
CONCATの戻り型は、Expression1とExpression2の型によって決まります。2つの異なるデータ型を連結すると、結果を含むことのできるデータ型が戻されます。そのため、引数の1つが各国語文字データ型の場合は、戻り値は各国語文字データ型となります。引数の1つがLOBの場合、戻り値はLOBとなります。次の表に、戻り型の決定方法の例を示します。
Expression1 Expression2 CONCAT CHAR(m)CHAR(n)CHAR(m+n)CHAR(m)VARCHAR2(n)VARCHAR2(m+n)VARCHAR2(m)CHAR(n)VARCHAR2(m+n)VARCHAR2(m)VARCHAR2(n)VARCHAR2(m+n)CLOBNCLOBNCLOBNCLOBNCHARNCLOBNCLOBCHAR(n)NCLOBNCHAR(n)CLOBNCLOB
例
次の例では、姓と名前を連結します。
Command> SELECT CONCAT(CONCAT(first_name, ' '), last_name), salary
FROM employees;
< Steven King, 24000 >
< Neena Kochhar, 17000 >
< Lex De Haan, 17000 >
< Alexander Hunold, 9000 >
...
107 rows found.
次の例では、列idを列id2と連結します。この例では、結果のデータ型はNCHAR(40)になります。
Command> CREATE TABLE cat (id CHAR (20), id2 NCHAR (20));
Command> INSERT INTO cat VALUES ('abc', 'def');
1 row inserted.
Command> SELECT CONCAT (id,id2) FROM cat;
< abc def >
1 row found.
||演算子の説明は、「式の指定」を参照してください。