- Categorias:
CONCAT_WS¶
Concatena duas ou mais cadeias de caracteres, ou dois ou mais valores binários, e usa o primeiro argumento como delimitador entre as cadeias de caracteres a seguir.
Nota
Ao contrário de algumas implementações da função CONCAT_WS, a função CONCAT_WS do Snowflake não pula valores NULL.
- Consulte também:
Sintaxe¶
CONCAT_WS( <separator> , <expression> [ , <expression> ... ] )
Argumentos¶
separatorO separador deve atender às mesmas exigências que
expression.expressionAs expressões de entrada devem ser todas cadeias de caracteres ou valores binários.
Retornos¶
A função retorna um valor VARCHAR ou BINARY que contém do segundo ao Xº argumento, separados pelo primeiro argumento.
Se algum argumento for NULL, a função retornará NULL.
O tipo de dados do valor retornado é o mesmo que o tipo de dados dos valores de entrada.
Notas de uso¶
Funções de metadados tais como GET_DDL aceitam apenas constantes como entrada. A entrada concatenada gera um erro.
CONCAT_WS coloca os separadores entre os argumentos, não depois do último argumento. Se CONCAT_WS é chamado com apenas um argumento após o separador, então nenhum separador é anexado.
Detalhes do agrupamento¶
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.
Exemplos¶
Chamar a função CONCAT_WS para concatenar três cadeias de caracteres com um separador de vírgula:
SELECT CONCAT_WS(',', 'one', 'two', 'three');
+---------------------------------------+
| CONCAT_WS(',', 'ONE', 'TWO', 'THREE') |
|---------------------------------------|
| one,two,three |
+---------------------------------------+
O exemplo a seguir mostra que se qualquer argumento for NULL, a função retornará NULL:
SELECT CONCAT_WS(',', 'one', NULL, 'two');
+------------------------------------+
| CONCAT_WS(',', 'ONE', NULL, 'TWO') |
|------------------------------------|
| NULL |
+------------------------------------+
O exemplo a seguir mostra que quando há apenas uma cadeia de caracteres para concatenar, a função CONCAT_WS não anexa um separador:
SELECT CONCAT_WS(',', 'one');
+-----------------------+
| CONCAT_WS(',', 'ONE') |
|-----------------------|
| one |
+-----------------------+