Resumo : neste tutorial, você aprenderá como usar a CONCAT_WS
função MySQL para concatenar strings em uma única string, separada por um delimitador especificado.
Introdução à função MySQL CONCAT_WS
CONCAT_WS
significa Concatenar com separador . _ _ A CONCAT_WS
função concatena várias strings em uma única string separada por um separador especificado.
Aqui está a sintaxe da CONCAT_WS
função:
CONCAT_WS(separator, string1, string2, string3, ...)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
separator
: Este é um separador que você usa para separar as strings.string1
,string2
,string3
, ..: as strings que você deseja concatenar.
O CONCAT_WS
retorna uma única string que combina string1
, string2
, string3
… separados pelo separador.
Se o separador for NULL
, CONCAT_WS
retornará NULL
. A CONCAT_WS
função não pula strings vazias. Mas se pular alguma NULL
string ( string1
, string2
, string3
…).
Na prática, você usa a CONCAT_WS
função para combinar valores de colunas diferentes com um separador personalizado.
Exemplos de funções MySQL CONCAT_WS
Vejamos alguns exemplos de uso da CONCAT_WS()
função.
1) Exemplo simples de função CONCAT_WS
O exemplo a seguir usa a CONCAT_WS()
função para concatenar duas strings com uma vírgula:
SELECT CONCAT_WS(',', 'John', 'Doe') full_name;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-----------+
| full_name |
+-----------+
| John,Doe |
+-----------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, usamos a CONCAT_WS
função para combinar as strings 'John'
e 'Doe'
com separador de vírgula. O resultado é a string 'John,Doe'
.
2) Utilizando o CONCAT_WS com os dados da tabela
Usaremos o banco de dados employees
de exemplo para a demonstração:
O exemplo a seguir usa o CONCAT_WS
para concatenar valores das colunas firstName
e lastName
da employees
tabela usando um espaço como separador:
SELECT CONCAT_WS(' ', firstName, lastName) full_name
FROM employees
ORDER BY lastName;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-------------------+
| full_name |
+-------------------+
| Gerard Bondur |
| Loui Bondur |
| Larry Bott |
| Anthony Bow |
| Pamela Castillo |
...
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A consulta retorna um conjunto de resultados com uma única coluna full_name
contendo os nomes completos de todos os funcionários.
3) Usando a função CONCAT_WS com valores NULL
Considere a seguinte customers
tabela no banco de dados de exemplo :
A consulta a seguir usa a CONCAT_WS
função para concatenar a cidade e o estado dos clientes em uma única string com a vírgula como separador:
SELECT
customerName,
CONCAT_WS(',', city, state) address
FROM
customers
ORDER BY
customerName;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------------------------+---------------------------+
| customerName | address |
+------------------------------------+---------------------------+
| Alpha Cognac | Toulouse |
| American Souvenirs Inc | New Haven,CT |
| Amica Models & Co. | Torino |
| ANG Resellers | Madrid |
| Anna's Decorations, Ltd | North Sydney,NSW |
| Anton Designs, Ltd. | Madrid |
| Asian Shopping Network, Co | Singapore |
| Asian Treasures, Inc. | Cork,Co. Cork |
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, quando o estado é NULL
, CONCAT_WS
ele é ignorado na sequência de resultados.
Resumo
- Use a
CONCAT_WS
função para concatenar várias strings em uma única string separada por vírgula. - A
CONCAT_WS
função ignoraNULL
valores.