Articles

Função MySQL CONCAT()

Última actualização a 26 de Fevereiro de 2020 08:08:24 (UTC/GMT +8 horas)

CONCAT() função

Função MySQL CONCAT() é utilizada para adicionar duas ou mais cadeias de caracteres.

  • Pode haver um ou mais argumentos.
  • Devolve a string que resulta da concatenação dos argumentos.
  • Devolve uma string não binária, se todos os argumentos forem strings não binárias.
  • Devolve uma string binária, se os argumentos incluírem quaisquer strings binárias.
  • Se o argumento for numérico, é convertido para a sua forma de string não binária equivalente.
  • Retorna NULL, se qualquer argumento for NULL.

Syntax:

CONCAT (string1, string2,…)

Argumentos

>Nome Descrição
string1 Primeira cadeia a ser unida.
string2 Segunda cadeia a ser unida. Até N número de cordas pode ser especificado desta forma.

Diagrama de sintaxe:

MySQL CONCAT() Função - Diagrama de sintaxebr>

Versão do MySQL: 5.6

br>>p>Representação pictórica da função MySQL CONCAT() function Representação pictórica da função MySQL CONCAT

Apresentação Vídeo

p>Seu navegador não suporta HTML5 video.

Exemplo da função MySQL Concat usando agrumentos

Um argumento:

mysql> SELECT CONCAT('w3resource');+----------------------+| CONCAT('w3resource') |+----------------------+| w3resource |+----------------------+1 row in set (0.00 sec)

Dois ou mais argumentos:

mysql> SELECT CONCAT('w3resource','.','com');+--------------------------------+| CONCAT('w3resource','.','com') |+--------------------------------+| w3resource.com |+--------------------------------+1 row in set (0.00 sec)

Um dos argumentos é NULL :

mysql> SELECT CONCAT('w3resource','.','com',NULL);+-------------------------------------+| CONCAT('w3resource','.','com',NULL) |+-------------------------------------+| NULL |+-------------------------------------+1 row in set (0.02 sec)

Discussão numérica:

mysql> SELECT CONCAT(102.33);+----------------+| CONCAT(102.33) |+----------------+| 102.33 |+----------------+1 row in set (0.00 sec)

Para cordas citadas, a concatenação pode ser feita colocando as cordas umas ao lado das outras :

mysql> SELECT 'w3resource' '.' 'com';+----------------+| w3resource |+----------------+| w3resource.com | +----------------+1 row in set (0.00 sec)

Exemplo da função MySQL CONCAT() nas colunas

A seguinte declaração MySQL adicionará valores da coluna pub_city com valores da coluna do país da tabela da editora colocando um ‘–>’ entre elas.

Código:

SELECT CONCAT(pub_city,'--> ',country)FROM publisher; 

Tabela de amostra: editora

p>P>Sample Output:

mysql> SELECT CONCAT(pub_city,'--> ',country) -> FROM publisher;+---------------------------------+| CONCAT(pub_city,'--> ',country) |+---------------------------------+| New York--> USA | | Mumbai--> India | | Adelaide--> Australia | | London--> UK | | Houstan--> USA | | New York--> USA | | Cambridge--> UK | | New Delhi--> India | +---------------------------------+8 rows in set (0.00 sec)

MySQL CONCAT usando a cláusula WHERE

A seguinte declaração MySQL adicionará a coluna pub_city e country por um ‘–>’ para aqueles editores cujo nome concatenado e escritório de país é ‘Ultra Press Inc.’. London’

Código:

SELECT CONCAT(pub_city,'--> ',country)FROM publisherWHERE CONCAT(pub_name,' ',country_office)="Ultra Press Inc. London"; 

Tabela de amostras: editora

p>p>Sample Output:

mysql> SELECT CONCAT(pub_city,'--> ',country) -> FROM publisher -> WHERE CONCAT(pub_name,' ',country_office)="Ultra Press Inc. London";+---------------------------------+| CONCAT(pub_city,'--> ',country) |+---------------------------------+| London--> UK |+---------------------------------+1 row in set (0.02 sec)

MySQL CONCAT retorna NULL se algum campo contiver NULL

A seguinte declaração MySQL adicionará o nome do livro e a coluna pub_lang por um ‘–>’ para todos os livros.

Código:

SELECT CONCAT(book_name,'--> ',pub_lang)FROM book_mast;

Tabela de amostra: book_mast

p>Sample Output:

mysql> SELECT CONCAT(book_name,'--> ',pub_lang) -> FROM book_mast;+------------------------------------------------+| CONCAT(book_name,'--> ',pub_lang) |+------------------------------------------------+| Introduction to Electrodynamics--> English || Understanding of Steel Construction--> English || Guide to Networking--> Hindi || Transfer of Heat and Mass--> English || NULL || Fundamentals of Heat--> German || Advanced 3d Graphics--> Hindi || Human Anatomy--> German || Mental Health Nursing--> English || Fundamentals of Thermodynamics--> English || The Experimental Analysis of Cat--> French || The Nature of World--> English || Environment a Sustainable Future--> German || NULL || Anatomy & Physiology--> Hindi || Networks and Telecommunications--> French |+------------------------------------------------+16 rows in set (0.01 sec)

A saída acima mostra que, quando o valor de qualquer uma das duas colunas mencionadas acima é NULL, a saída retorna NULL, menção por cor vermelha.

MySQL CONCAT usando JOINS e wildcard

A seguinte declaração MySQL mostrará a combinação de nome e apelido e título de emprego para aqueles empregados que contenham a palavra Smith à sua combinação de primeiro e último nome.

Código:

SELECT CONCAT( first_name, ' ', last_name ) AS "name", job_titleFROM employees e, jobs jWHERE e.job_id = j.job_idAND CONCAT( first_name, ' ', last_name ) LIKE '%Smith%';

Tabela de amostra: empregados

p>Tabela de amostra: empregos
p>P>Saída de amostra:

mysql> SELECT CONCAT( first_name, ' ', last_name ) AS "name", job_title -> FROM employees e, jobs j -> WHERE e.job_id = j.job_id -> AND CONCAT( first_name, ' ', last_name ) LIKE '%Smith%';+---------------+----------------------+| name | job_title |+---------------+----------------------+| Lindsey Smith | Sales Representative || William Smith | Sales Representative |+---------------+----------------------+2 rows in set (0.00 sec)

PHPScript

<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>example-concat-function - php mysql examples | w3resource</title><meta name="description" content="example-concat-function - php mysql examples | w3resource"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"></head><body><div class="container"><div class="row"><div class="col-md-12"><h2>list of publisher's city and country with 'publisher's city--->country' format:</h2><table class='table table-bordered'><tr><th>Publisher's City</th></tr><?php$hostname="your_hostname";$username="your_username";$password="your_password";$db = "your_dbname";$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);foreach($dbh->query('SELECT CONCAT(pub_city,"--> ",country)FROM publisher') as $row) {echo "<tr>";echo "<td>" . $row . "</td>";echo "</tr>";}?></tbody></table></div></div></div></body></html>

JSPScript

<%@page contentType="text/html" pageEncoding="UTF-8"%><%@ page import="java.sql.*" %><%@ page import="java.io.*" %><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example-concat-function</title></head><body><%try {Class.forName("com.mysql.jdbc.Driver").newInstance();String Host = "jdbc:mysql://localhost:3306/w3resour_bookinfo";Connection connection = null;Statement statement = null;ResultSet rs = null;connection = DriverManager.getConnection(Host, "root", "datasoft123");statement = connection.createStatement();String Data ="SELECT CONCAT(pub_city,'--> ',country) FROM publisher";rs = statement.executeQuery(Data);%><TABLE border="1"><tr width="10" bgcolor="#9979"><td>Publisher's City</td></tr><%while (rs.next()) {%><TR><TD><%=rs.getString("CONCAT(pub_city,'--> ',country)")%></TD></TR><% } %></table><%rs.close();statement.close();connection.close();} catch (Exception ex) {out.println("Cant connect to database.");}%></body></html>

Trythe Consultas seguintes

Escrever uma instrução SQL para mostrar a cidade editora e o nome de acordo com o grupo na cidade editora.

Escrever uma instrução SQL para exibir a cidade editora e o nome e o escritório do país com o título adequado para os editores cujo escritório do país e cidade editora se encontram no mesmo local.

Escrever uma instrução SQL para exibir o nome da editora, escritório do país e um número máximo de sucursais com o título adequado para os editores que mantêm em e acima de 15 sucursais em todo o mundo.

p>Tabela de amostras: editora

MySQL Online Editor

Exibir resposta

br>SELECT CONCAT(pub_city,’ — ‘,pub_name)
FROM publisher
GROUP BY pub_city;
br>>SELECT CONCAT(‘City:- ‘,pub_city,’ Nome da editora :- ‘,pub_name,’ Country Office :- ‘,country_office)
editor de FROM
AQUI pub_city=pag_office
GROUP POR pub_city;
br>br>SELECT CONCAT(‘Nome do editor :- ‘,pub_name,
‘Country Office:- ,country_office,
‘Highest Branches:- ‘,Max(no_of_branch))
FROM publisher
GROUP BY pub_name
HAVING Max(no_of_branch)>=15;

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *