Categorias:

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

CONCAT , ||

Concatena uma ou mais cadeias de caracteres, ou concatena um ou mais valores binários.

O operador || fornece uma sintaxe alternativa para CONCAT e exige pelo menos dois argumentos.

Consulte também:

CONCAT_WS

Sintaxe

CONCAT( <expr> [ , <expr> ... ] )

<expr> || <expr> [ || <expr> ... ]
Copy

Argumentos

expr

As expressões de entrada devem ser todas cadeias de caracteres, ou todas serem valores binários.

Retornos

O tipo de dados do valor retornado é o mesmo que o tipo de dados do(s) valor(es) de entrada.

Se qualquer valor de entrada for NULL, retorna NULL.

Notas de uso

Funções de metadados tais como GET_DDL aceitam apenas constantes como entrada. A entrada concatenada gera um erro.

Detalhes do agrupamento

Exemplos

Concatenar duas cadeias de caracteres:

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

Concatenação de duas colunas VARCHAR. Primeiro, crie uma tabela e insira os dados:

CREATE OR REPLACE TABLE concat_function_example (s1 VARCHAR, s2 VARCHAR, s3 VARCHAR);
INSERT INTO concat_function_example (s1, s2, s3) VALUES
  ('co', 'd', 'e'),
  ('Colorado ', 'River ', NULL);
Copy

Execute uma consulta:

SELECT CONCAT(s1, s2)
  FROM concat_function_example;
Copy
+-----------------+
| CONCAT(S1, S2)  |
|-----------------|
| cod             |
| Colorado River  |
+-----------------+

Concatenar mais de duas cadeias de caracteres:

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

Use a função IFF com a função CONCAT para concatenar cadeias de caracteres que não sejam NULL:

SELECT CONCAT(
    IFF(s1 IS NULL, '', s1),
    IFF(s2 IS NULL, '', s2),
    IFF(s3 IS NULL, '', s3)) AS concat_non_null_strings
  FROM concat_function_example;
Copy
+-------------------------+
| CONCAT_NON_NULL_STRINGS |
|-------------------------|
| code                    |
| Colorado River          |
+-------------------------+

Usar o operador de concatenação || em vez da função:

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