Функция MySQL CONCAT ()
Функция CONCAT ()
Функция MySQL CONCAT () используется для добавления двух или более строк.
- Может быть один или несколько аргументов.
- Возвращает строку, полученную в результате объединения аргументов.
- Возвращает недвоичную строку, если все аргументы являются недвоичными строками.
- Возвращает двоичную строку, если аргументы включают какие-либо двоичные строки.
- Если аргумент является числовым, он преобразуется в его эквивалентную недвоичную строковую форму.
- Возвращает NULL, если любой аргумент равен NULL.
Синтаксис:
CONCAT (строка1, строка2,…)
аргументы
название | Описание |
---|---|
string1 | Первая строка для соединения. |
строка2 | Вторая строка для соединения. Таким способом можно указать до N строк. |
Синтаксическая диаграмма:
Версия MySQL: 5.6
Наглядное представление функции MySQL CONCAT ()
Видео презентация
Примеры: функция MySQL Concat ()
Оглавление :
- Пример функции MySQL Concat с использованием agruments
- Пример функции MySQL CONCAT () для столбцов
- MySQL CONCAT с использованием предложения WHERE
- MySQL CONCAT возвращает NULL, если любое поле содержит NULL
- MySQL CONCAT с использованием JOINS и подстановочного знака
- PHP скрипт
- JSP Script
- Попробуйте Quries самостоятельно
Пример функции MySQL Concat с использованием agruments
Один аргумент:
mysql> SELECT CONCAT ('w3resource'); + ---------------------- + | CONCAT ('w3resource') | + ---------------------- + | w3resource | + ---------------------- + 1 ряд в наборе (0,00 сек)
Два или более аргументов:
mysql> SELECT CONCAT ('w3resource', '.', 'com'); + -------------------------------- + | CONCAT ('w3resource', '.', 'Com') | + -------------------------------- + | 4PDA | + -------------------------------- + 1 ряд в наборе (0,00 сек)
Один из аргументов равен NULL:
mysql> SELECT CONCAT ('w3resource', '.', 'com', NULL); + ------------------------------------- + | CONCAT ('w3resource', '.', 'Com', NULL) | + ------------------------------------- + | NULL | + ------------------------------------- + 1 ряд в наборе (0,02 сек)
Числовой аргумент:
mysql> SELECT CONCAT (102.33); + ---------------- + | КОНКАТ (102,33) | + ---------------- + | 102,33 | + ---------------- + 1 ряд в наборе (0,00 сек)
Для строк в кавычках конкатенация может быть выполнена путем размещения строк рядом друг с другом:
mysql> ВЫБРАТЬ 'w3resource' '.' «Ком»; + ---------------- + | w3resource | + ---------------- + | 4PDA | + ---------------- + 1 ряд в наборе (0,00 сек)
Пример функции MySQL CONCAT () для столбцов
Следующая инструкция MySQL добавит значения столбца pub_city со значениями столбца страны таблицы издателя, поместив между ними символ «->».
Код:
SELECT CONCAT(pub_city,'--> ',country)
FROM publisher;
Пример таблицы: издатель
Пример вывода:
mysql> SELECT CONCAT (pub_city, '->', страна) -> ОТ издателя; + --------------------------------- + | CONCAT (pub_city, '->', страна) | + --------------------------------- + | Нью-Йорк -> США | | Мумбаи -> Индия | | Аделаида -> Австралия | | Лондон -> Великобритания | | Хьюстан -> США | | Нью-Йорк -> США | | Кембридж -> Великобритания | | Нью-Дели -> Индия | + --------------------------------- + 8 рядов в наборе (0,00 сек)
MySQL CONCAT с использованием предложения WHERE
Следующее утверждение MySQL добавит столбец pub_city и country к «->» для тех издателей, чье объединенное название и страновой офис - «Ultra Press Inc. London»
Код:
SELECT CONCAT(pub_city,'--> ',country)
FROM publisher
WHERE CONCAT(pub_name,' ',country_office)="Ultra Press Inc. London";
Пример таблицы: издатель
Пример вывода:
mysql> SELECT CONCAT (pub_city, '->', страна) -> ОТ издателя -> ГДЕ КОНКАТ (pub_name, '', country_office) = "Ультра Пресс Инк. Лондон"; + --------------------------------- + | CONCAT (pub_city, '->', страна) | + --------------------------------- + | Лондон -> Великобритания | + --------------------------------- + 1 ряд в наборе (0,02 сек)
MySQL CONCAT возвращает NULL, если любое поле содержит NULL
Следующая инструкция MySQL добавит название книги и столбец pub_lang через «->» для всех книг.
Код:
SELECT CONCAT(book_name,'--> ',pub_lang)
FROM book_mast;
Пример таблицы: book_mast
Пример вывода:
mysql> SELECT CONCAT (имя_библиотеки, '->', pub_lang) -> ОТ book_mast; + ------------------------------------------------ + | CONCAT (book_name, '->', pub_lang) | + ------------------------------------------------ + | Введение в электродинамику -> Английский | | Понимание стальных конструкций -> Английский | | Руководство по работе в сети -> хинди | | Перенос тепла и массы -> английский | | NULL | | Основы жары -> немецкий | | Продвинутая 3d графика -> хинди | | Анатомия человека -> Немецкий | | Психиатрическая помощь -> Английский | | Основы термодинамики -> Английский | | Экспериментальный анализ кошек -> французский | | Природа Мира -> Английский | | Окружающая среда - устойчивое будущее -> Немецкий | | NULL | | Анатомия и физиология -> Хинди | | Сети и Телекоммуникации -> Французский | + ------------------------------------------------ + 16 рядов в наборе (0,01 с)
Вышеуказанные выходные данные показывают, что когда значение любого из двух упомянутых выше столбцов равно NULL, выходные данные возвращают NULL, упомянутое красным цветом.
MySQL CONCAT с использованием JOINS и подстановочного знака
Следующий оператор 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%';
Пример таблицы: сотрудники
Пример таблицы: вакансии
Пример вывода:
mysql> SELECT CONCAT (first_name, '', last_name) AS "имя", job_title -> ОТ сотрудников е, вакансии j -> ГДЕ e.job_id = j.job_id -> И СОГЛАСОВАТЬ (first_name, '', last_name) LIKE '% Smith%'; + --------------- + ---------------------- + | имя | job_title | + --------------- + ---------------------- + | Линдси Смит | Торговый представитель | | Уильям Смит | Торговый представитель | + --------------- + ---------------------- + 2 ряда в наборе (0,00 сек)
PHP скрипт
<!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['CONCAT(pub_city,"--> ",country)'] . "</td>";
echo "</tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
JSP Script
<%@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>
Попробуйте следующие запросы
Напишите оператор SQL для отображения города и имени издателя в соответствии с группой по городу издателя.
Напишите оператор SQL, чтобы отобразить город издателя, название и страновой офис с подходящим названием для тех издателей, в которых страновой офис и город публикации находятся в одном месте.
Напишите оператор SQL, чтобы отобразить имя издателя, страновой офис и максимальное количество филиалов с подходящим названием для тех издателей, которые ведут более 15 филиалов по всему миру.
Пример таблицы: издатель
MySQL Online Editor
Хотите практиковать больше упражнений MySQL? Нажмите здесь, чтобы получить триста с лишним упражнений с решениями.
Предыдущая: CONCAT_WS
Далее: ELT
Новый контент: Composer: менеджер зависимостей для PHP , R программирования