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

The input expressions must be all strings, or all binary values.

Retornos

The data type of the returned value is the same as the data type of the input values.

If any input value is NULL, the function returns 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               |
+----------------------------------------+

Concatenar cinco cadeias de caracteres usando variáveis de sessão para três delas:

SET var_first_name = 'George';
SET var_middle_name = 'Washington';
SET var_last_name = 'Carver';

SELECT CONCAT($var_first_name, ' ', $var_middle_name, ' ', $var_last_name) AS concat_name;
Copy
+--------------------------+
| CONCAT_NAME              |
|--------------------------|
| 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.                           |
+--------------------------------------------------------------------+