カテゴリ:

文字列とバイナリ関数 (一般)

CONCAT、 ||

1つ以上の文字列を連結するか、1つ以上のバイナリ値を連結します。値のいずれかがNullの場合、結果もNullになります。

|| 演算子は CONCAT の代替構文を提供し、少なくとも2つの引数が必要です。

こちらもご参照ください。

CONCAT_WS

構文

CONCAT( <expr1> [ , <exprN> ... ] )

<expr1> || <expr2> [ || <exprN> ... ]
Copy

引数

exprN

入力式はすべて文字列であるか、すべてバイナリ値である必要があります。

戻り値

戻り値のデータ型は、入力値のデータ型と同じです。

使用上の注意

  • GET_DDL などのメタデータ関数は、入力として定数のみを受け入れます。連結入力はエラーを生成します。

照合の詳細

2つの文字列を連結します。

SELECT CONCAT('George Washington ', 'Carver');
+----------------------------------------+
| CONCAT('GEORGE WASHINGTON ', 'CARVER') |
|----------------------------------------|
| George Washington Carver               |
+----------------------------------------+
Copy

2つの VARCHAR 列を連結します。

CREATE TABLE table1 (s1 VARCHAR, s2 VARCHAR, s3 VARCHAR);
INSERT INTO table1 (s1, s2, s3) VALUES 
    ('co', 'd', 'e'),
    ('Colorado ', 'River ', NULL);
Copy
SELECT CONCAT(s1, s2)
    FROM table1;
+-----------------+
| CONCAT(S1, S2)  |
|-----------------|
| cod             |
| Colorado River  |
+-----------------+
Copy

3つ以上の文字列を連結します。

SELECT CONCAT(s1, s2, s3)
    FROM table1;
+--------------------+
| CONCAT(S1, S2, S3) |
|--------------------|
| code               |
| NULL               |
+--------------------+
Copy

関数の代わりに連結演算子 || を使用します。

SELECT 'This ' || 'is ' || 'another ' || 'concatenation ' || 'technique.';
+--------------------------------------------------------------------+
| 'THIS ' || 'IS ' || 'ANOTHER ' || 'CONCATENATION ' || 'TECHNIQUE.' |
|--------------------------------------------------------------------|
| This is another concatenation technique.                           |
+--------------------------------------------------------------------+
Copy