Articles

MySQL CONCAT()-Funktion

Letzte Aktualisierung am 26. Februar 2020 08:08:24 (UTC/GMT +8 Stunden)

CONCAT()-Funktion

MySQL CONCAT()-Funktion wird verwendet, um zwei oder mehr Zeichenketten zu addieren.

  • Es kann ein oder mehrere Argumente geben.
  • Gibt die Zeichenkette zurück, die sich aus der Verkettung der Argumente ergibt.
  • Gibt eine nicht-binäre Zeichenkette zurück, wenn alle Argumente nicht-binäre Zeichenketten sind.
  • Gibt eine binäre Zeichenkette zurück, wenn die Argumente binäre Zeichenketten enthalten.
  • Wenn das Argument numerisch ist, wird es in die entsprechende nicht-binäre Zeichenkettenform konvertiert.
  • Returnt NULL, wenn eines der Argumente NULL ist.

Syntax:

CONCAT (string1, string2,…)

Argumente

Name Beschreibung
String1 Erster zu verbindender String.
Zeichenkette2 Zweite zu verbindende Zeichenkette. Es können bis zu N Zeichenfolgen auf diese Weise angegeben werden.

Syntaxdiagramm:

MySQL CONCAT() Funktion - Syntaxdiagramm

MySQL Version: 5.6

MySQL: CONCAT() Funktion - w3resource

Bildliche Darstellung der MySQL CONCAT() Funktion

Bildliche Darstellung der MySQL CONCAT Funktion

Videopräsentation

Ihr Browser unterstützt kein HTML5-Video.

Beispiel für die MySQL Concat Funktion mit Argumenten

Ein Argument:

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

Zwei oder mehr Argumente:

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

Eines der Argumente ist NULL:

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

Numerisches Argument:

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

Bei Zeichenketten in Anführungszeichen kann eine Verkettung durchgeführt werden, indem die Zeichenketten aneinandergereiht werden :

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

Beispiel für die MySQL-Funktion CONCAT() auf Spalten

Das folgende MySQL-Statement addiert die Werte der Spalte „pub_city“ mit den Werten der Spalte „country“ der Tabelle „publisher“ und setzt ein ‚–>‘ dazwischen.

Code:

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

Beispieltabelle: publisher

Beispielausgabe:

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 mit WHERE-Klausel

Das folgende MySQL-Statement fügt die Spalte pub_city und country durch ein ‚–>‘ für diejenigen Verlage hinzu, deren konkatinierter Name und Länderbüro ‚Ultra Press Inc. London‘

Code:

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

Beispieltabelle: Verlag

Beispielausgabe:

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 gibt NULL zurück, wenn ein Feld NULL enthält

Das folgende MySQL-Statement fügt den Buchnamen und die Spalte pub_lang durch ein ‚–>‘ für alle Bücher hinzu.

Code:

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

Beispieltabelle: book_mast

Beispielausgabe:

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)

Die obige Ausgabe zeigt, dass, wenn der Wert einer der beiden oben genannten Spalten NULL ist, die Ausgabe NULL zurückgibt, was durch die rote Farbe erwähnt wird.

MySQL CONCAT unter Verwendung von JOINS und Wildcard-Zeichen

Das folgende MySQL-Statement zeigt die Kombination aus Vor- und Nachname und Stellenbezeichnung für die Mitarbeiter an, die das Wort Smith in ihrer Vor- und Nachnamenskombination enthalten.

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

Beispieltabelle: Mitarbeiter

Beispieltabelle: Stellen

Beispielausgabe:

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 folgende Abfragen

Schreiben Sie eine SQL-Anweisung, um den Verlagsort und -namen entsprechend der Gruppe auf Verlagsort anzuzeigen.

Schreiben Sie eine SQL-Anweisung, um den Verlagsort und -namen und die Landesniederlassung mit einem passenden Titel für diejenigen Verlage anzuzeigen, deren Landesniederlassung und Verlagsort am selben Ort liegen.

Schreiben Sie eine SQL-Anweisung, um den Verlagsnamen, die Landesniederlassung und eine maximale Anzahl von Niederlassungen mit dem passenden Titel für diejenigen Verlage anzuzeigen, die weltweit mehr als 15 Niederlassungen unterhalten.

Beispieltabelle : verlag

MySQL Online Editor

Antwort anzeigen

SELECT CONCAT(pub_city,‘ — ‚,pub_name)
FROM verlag
GROUP BY pub_city;

SELECT CONCAT(‚Stadt:- ‚,pub_city,‘ Verlagsname :- ‚,pub_name,‘ Länderbüro :- ‚,country_office)
FROM publisher
WHERE pub_city=country_office
GROUP BY pub_city;

SELECT CONCAT(‚Verlagsname :- ‚,pub_name,
‚Country Office:- ‚,country_office,
‚Höchste Niederlassungen:- ‚,Max(no_of_branch))
FROM publisher
GROUP BY pub_name
HAVING Max(no_of_branch)>=15;

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.