- カテゴリ:
文字列とバイナリ関数 (一般)
CONCAT_WS¶
2つ以上の文字列を連結するか、2つ以上のバイナリ値を連結し、最初の引数を次の文字列間の区切り文字として使用します。
注釈
CONCAT_WS 関数の一部の実装とは異なり、Snowflake CONCAT_WS 関数は NULL 値をスキップしません。
- こちらもご参照ください。
構文¶
CONCAT_WS( <separator> , <expression> [ , <expression> ... ] )
引数¶
separator区切り文字は、
expressionと同じ要件を満たしている必要があります。expression入力式はすべての文字列またはすべてのバイナリ値である必要があります。
戻り値¶
この関数は、最初の引数で区切られた2番目からN番目の引数を含む VARCHAR または BINARY 値を返します。
いずれかの引数が NULL の場合、関数は NULL を返します。
返される値のデータ型は、入力値のデータ型と同じです。
使用上の注意¶
GET_DDL などのメタデータ関数は、入力として定数のみを受け入れます。連結入力はエラーを生成します。
CONCAT_WS は、最後の引数の後ではなく、引数の間に区切り文字を置きます。区切り文字の後に引数を1つだけ指定して CONCAT_WS を呼び出すと、区切り文字は追加されません。
照合順序の詳細¶
The collation specifications of all input arguments must be compatible.
The collation of the result of the function is the highest-precedence collation of the inputs.
例¶
CONCAT_WS を呼び出して、コンマ区切り文字で3つの文字列を連結します。
SELECT CONCAT_WS(',', 'one', 'two', 'three');
+---------------------------------------+
| CONCAT_WS(',', 'ONE', 'TWO', 'THREE') |
|---------------------------------------|
| one,two,three |
+---------------------------------------+
次の例は、引数のいずれかが NULL の場合は関数が NULL を返すことを示しています。
SELECT CONCAT_WS(',', 'one', NULL, 'two');
+------------------------------------+
| CONCAT_WS(',', 'ONE', NULL, 'TWO') |
|------------------------------------|
| NULL |
+------------------------------------+
次の例は、連結する文字列が1つだけの場合、 CONCAT_WS 関数は区切り文字を追加しないことを示しています。
SELECT CONCAT_WS(',', 'one');
+-----------------------+
| CONCAT_WS(',', 'ONE') |
|-----------------------|
| one |
+-----------------------+