Articles

Fonction MySQL CONCAT()

Dernière mise à jour le 26 février 2020 08:08:24 (UTC/GMT +8 heures)

Fonction CONCAT()

La fonction MySQL CONCAT() est utilisée pour ajouter deux ou plusieurs chaînes de caractères.

  • Il peut y avoir un ou plusieurs arguments.
  • Retourne la chaîne qui résulte de la concaténation des arguments.
  • Retourne une chaîne non binaire, si tous les arguments sont des chaînes non binaires.
  • Retourne une chaîne binaire, si les arguments comprennent des chaînes binaires.
  • Si l’argument est numérique, il est converti en sa forme de chaîne non binaire équivalente.
  • Retourne NULL si l’un des arguments est NULL.

Syntaxe :

CONCAT (string1, string2,…)

Arguments

Nom Description
string1 Première chaîne à joindre.
tring2 Deuxième chaîne à joindre. On peut spécifier jusqu’à N nombre de chaînes de caractères de cette façon.

Diagramme syntaxique:

Fonction CONCAT() de MySQL - Diagramme syntaxique

Version MySQL : 5.6

MySQL : Fonction CONCAT() - w3resource

Représentation picturale de la fonction MySQL CONCAT()

représentation picturale de la fonction MySQL CONCAT

Présentation vidéo

Votre navigateur ne prend pas en charge la vidéo HTML5.

Exemple de la fonction MySQL Concat utilisant des agruments

Un argument :

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

Deux arguments ou plus :

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

Un des arguments est NULL :

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

Argument numérique :

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

Pour les chaînes citées, la concaténation peut être effectuée en plaçant les chaînes les unes à côté des autres :

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

Exemple de la fonction MySQL CONCAT() sur des colonnes

L’instruction MySQL suivante ajoutera les valeurs de la colonne pub_city avec les valeurs de la colonne country de la table publisher en plaçant un ‘–>’ entre elles.

Code:

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

Table échantillon : publisher

Sortie exemple :

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 utilisant la clause WHERE

L’instruction MySQL suivante ajoutera la colonne pub_city et country par un ‘–>’ pour les éditeurs dont le nom et le bureau de pays concaténés sont ‘Ultra Press Inc. Londres’

Code:

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

Tableau exemple : éditeur

Sortie exemple :

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 retourne NULL si un champ contient NULL

L’instruction MySQL suivante ajoutera le nom du livre et la colonne pub_lang par un ‘–>’ pour tous les livres.

Code:

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

Table exemple : book_mast

Sortie exemple :

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)

La sortie ci-dessus montre que, lorsque la valeur de l’une des deux colonnes mentionnées ci-dessus est NULL, la sortie renvoie NULL, mentionnée par la couleur rouge.

MySQL CONCAT utilisant les JOINS et le caractère générique

La déclaration MySQL suivante montrera la combinaison du prénom et du nom de famille et le titre du poste pour les employés qui contiennent le mot Smith à leur combinaison de prénom et de nom de famille.

Code:

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%';

Table échantillon : employés

Table échantillon : emplois

Sortie échantillon :

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>

Essayer les requêtes suivantes

Écrire une instruction SQL pour afficher la ville et le nom de l’éditeur en fonction du groupe sur la ville de l’éditeur.

Écrivez une instruction SQL pour afficher la ville et le nom de l’éditeur et le bureau de pays avec le titre approprié pour les éditeurs dont le bureau de pays et la ville d’édition sont au même endroit.

Écrivez une instruction SQL pour afficher le nom de l’éditeur, le bureau de pays et un nombre maximum de succursales avec le titre approprié pour les éditeurs qui maintiennent sur et au-dessus de 15 succursales dans le monde entier.

Table type : éditeur

Éditeur en ligne MySQL

Afficher la réponse

SELECT CONCAT(pub_city,’ — ‘,pub_name)
FROM publisher
GROUPE PAR pub_city;

SELECT CONCAT(‘City :- ‘,pub_city,’ Nom de l’éditeur :- ‘,pub_name,’ Bureau du pays :- ‘,country_office)
FROM publisher
WHERE pub_city=country_office
GROUPE PAR pub_city;

SELECT CONCAT(‘Nom de l’éditeur :- ‘,pub_name,
‘Bureau du pays :- ‘,country_office,
‘Highest Branches:- ‘,Max(no_of_branch))
FROM publisher
GROUP BY pub_name
HAVING Max(no_of_branch)>=15;

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *