カテゴリ:

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

CONCAT_WS

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

CONCAT_WS 演算子には少なくとも2つの引数が必要で、最初の引数を使用して後続のすべての引数を区切ります。

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

CONCAT

構文

CONCAT_WS( <separator> , <expression1> [ , <expressionN> ... ] )
Copy

引数

separator

区切り文字は、 expressionN と同じ要件を満たしている必要があります。

expressionN

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

戻り値

この関数は、最初の引数で区切られた2番目からN番目の引数を含む VARCHAR または BINARY を返します。

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

使用上の注意

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

  • CONCAT_WS は、最後の引数の後ではなく、引数の間に区切り文字を置きます。区切り文字の後に引数を1つだけ指定して CONCAT_WS を呼び出すと、区切り文字は追加されません。

照合の詳細

3つの文字列を区切り文字で連結します。

SELECT CONCAT_WS(',', 'one', 'two', 'three');
+---------------------------------------+
| CONCAT_WS(',', 'ONE', 'TWO', 'THREE') |
|---------------------------------------|
| one,two,three                         |
+---------------------------------------+
Copy

連結する文字列が1つだけの場合、 CONCAT_WS は区切り文字を追加しません。

SELECT CONCAT_WS(',', 'one');
+-----------------------+
| CONCAT_WS(',', 'ONE') |
|-----------------------|
| one                   |
+-----------------------+
Copy