Categorias:

Funções de cadeia de caracteres e binários (General)

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:

CONCAT

Sintaxe

CONCAT_WS( <separator> , <expression> [ , <expression> ... ] )
Copy

Argumentos

separator

O separador deve atender às mesmas exigências que expression.

expression

As 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

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');
Copy
+---------------------------------------+
| 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');
Copy
+------------------------------------+
| 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');
Copy
+-----------------------+
| CONCAT_WS(',', 'ONE') |
|-----------------------|
| one                   |
+-----------------------+