Функция MySQL CONCAT

У нас есть таблица «учитель» в базе данных «данные» База данных

Объединение строк в MySQL помогает добавлять одну строку в конец другой. Объединение полей строки или банка данных в отдельное поле в наборе результатов возможно с помощью методов управления строками MySQL. В этом руководстве при использовании методов MySQL CONCAT или CONCAT WS вы обнаружите различные способы одновременного объединения двух или более строк.

  • Может возникнуть один или даже несколько аргументов.
  • Объединяет аргументы и возвращает результирующую строку.
  • Когда все значения являются недвоичными строками, вывести недвоичную строку.
  • Выдает двоичную строку, если в аргументах используются какие-либо двоичные строки.
  • Если он числовой, он также переводится в небинарную строковую форму.
  • Если каждый аргумент равен NULL, эта функция возвращает NULL.

Откройте клиентскую оболочку командной строки MySQL из приложений и добавьте свой пароль по запросу.

Пример 1: объединение двух столбцов с помощью CONCAT

У нас есть таблица «учитель» в базе данных «данные». Мы хотим связать его строки из двух столбцов «TeachName» и «lastname» без пробела между ними.

У нас есть таблица «учитель» в базе данных «данные»

Выполните команду SELECT CONCAT, указав имена столбцов в скобках, разделенных запятыми. Новый столбец «Имя» создается для хранения в нем объединенных строковых значений, и результат показан ниже.

>> SELECT CONCAT(TeachName, lastname) AS Name FROM data.teacher;

Выполните команду SELECT CONCAT

Пример 2: объединить два столбца с пробелом

Предположим, у нас есть приведенная ниже таблица «student» в базе данных «data», и мы хотим объединить ее строки из двух столбцов «Name» и «Subject» с пробелом между значениями.

Предположим, у нас есть приведенная ниже таблица

Используйте приведенную ниже команду SELECT CONCAT, указав имена столбцов в скобках, чтобы объединить строковые значения, разделенные пробелом. Объединенные значения будут сохранены в новом столбце «StudentDetail». В результирующем столбце теперь есть все сцепленные строки.

>> SELECT CONCAT(Name, ‘ ‘, Subject) AS StudentDetail FROM data.student;

Используйте приведенную ниже команду

Пример 3: объединение нескольких столбцов со специальными символами

Предположим, что приведенная ниже таблица «учитель» объединяет строковые значения из более чем двух столбцов с другим специальным символом.

Предположим, что приведенная ниже таблица

Попробуйте выполнить команду ниже, добавив вместо пробела знак «-». В результирующем наборе есть объединенный столбец строк из столбцов таблицы со специальными символами, использованными в нем.

>> SELECT CONCAT(TeachName, ‘, subject, ‘, qualification) AS Detail FROM data.teacher;

Попробуйте выполнить команду ниже, добавив вместо пробела знак

Пример 4: объединение при получении дополнительных столбцов

Если вы хотите объединить строки столбцов при извлечении других столбцов в том же запросе, вы находитесь в нужном месте. Рассмотрим таблицу «животные» в базе данных «данные» ниже.

Если вы хотите объединить строки столбцов при извлечении

Мы объединили его три столбца; «Цвет», «Имя» и «Пол» с использованием пробелов и специальных символов между ними. Объединенная строка из этих столбцов будет сохранена в новом столбце «AnimData». С другой стороны, мы обращались к записям других столбцов «Цена» и «Возраст» из этой таблицы. Записи будут извлечены из строк, где пол животных «M» означает только самцов. У вас есть результаты объединенных строк из разных столбцов, а также из других столбцов, которые были отображены отдельно.

>> SELECT CONCAT(Color, ‘ ‘, Name, ‘, Gender) AS AnimData, Price, Age FROM data.animals WHERE Gender = ‘M’;

У вас есть результаты объединенных строк из разных столбцов

Пример 5: объединить больше строк со строками столбцов

Если вы хотите добавить строки вместо специальных символов или пробелов, вы тоже можете это сделать. Итак, давайте рассмотрим простой пример этого. Предположим, у вас есть таблица «книга» и нижеприведенные данные о книгах, их ценах, авторах, томах и страницах, как показано на рисунке. Теперь мы будем объединять строки из столбцов «Имя», «Автор» и «Цена», используя эту таблицу.

Если вы хотите добавить строки вместо специальных символов

Мы использовали оператор SELECT CONCAT для объединения строк из трех столбцов. Все данные этой таблицы сначала сортируются в порядке возрастания столбца «Имя». В скобках мы указали «Книга», «Автор» и «имеет цену» в качестве дополнительных строк вместо пробелов или специальных символов в кавычках. Теперь функция CONCAT примет первое значение с кавычками «Книга» вместе со значением из столбца «Имя», затем второе значение с перевернутой запятой «написано», за которым следует строковое значение столбца «Автор» и, наконец, третье. значение обратной запятой «имеет цену», за которым следует значение столбца «Цена». Все эти строки и значения из столбцов будут объединены, и получится полноценное предложение. Это совершенно новое мегастрочное предложение будет сохранено в новом столбце «BookDetail».

>> SELECT CONCAT(‘The book ‘, Name, ‘ wrote by ‘, Author, ‘ has price ‘, Price) AS BookDetail FROM data.book ORDER BY Name ASC;

Мы использовали оператор SELECT CONCAT для объединения строк

Пример 6: Объединение строк столбцов с использованием CONCAT_WS

CONCAT_WS кажется уникальным вариантом функции CONCAT, которая позволяет вам указать, какой символ (или символы) будет отброшен как разделитель, касающийся конкатенации строк. Это так же просто, как и простая функция CONCAT. Итак, давайте рассмотрим таблицу «social» в базе данных MySQL. Содержащую значения о пользователях, их наиболее часто используемых приложениях социальных сетей и возрасте пользователей. Теперь мы выполним конкатенацию с помощью функции CONCAT_WS.

кажется уникальным вариантом функции CONCAT

В запросе ниже мы объединили три столбца и сохранили этот объединенный результат в столбце «Подробности». Как вы можете заметить, здесь есть кое-что другое, поскольку мы определили некоторые специальные символы «***» в кавычках перед именами столбцов. Это потому, что мы хотим добавить эти специальные символы между строками столбцов, идущими один за другим, используя функцию CONTACT_WS. Итак, из этого сценария ясно, что нам не нужно помещать специальные символы в запрос после каждого указанного столбца, когда речь идет о символах одного и того же типа.

>> SELECT CONCAT_WS(***, User, Website, Age) AS Detail FROM data.social;

В запросе ниже мы объединили три столбца и сохранили

Заключение

Теперь вы эффективно разбираетесь во всех важных вещах о конкатенации строковых столбцов и их значений с помощью простой функции CONCAT и функции CONCAT_WS в оболочке MySQL.

Читайте также:  Как усечь таблицу в MySQL
Оцените статью
bestprogrammer.ru
Добавить комментарий