Функция MySQL CONCAT

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

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

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

Содержание

  1. Пример 1: объединение двух столбцов с помощью CONCAT
  2. Пример 2: объединить два столбца с пробелом
  3. Пример 3: объединение нескольких столбцов со специальными символами
  4. Пример 4: объединение при получении дополнительных столбцов
  5. Пример 5: объединить больше строк со строками столбцов
  6. Пример 6: Объединение строк столбцов с использованием CONCAT_WS
  7. Заключение

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

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

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

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

Пример 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;

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

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

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

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

Заключение

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

Конкатенация строк в MySQL –

спросил

Изменено 1 год, 4 месяца назад

Просмотрено 283 тыс. раз

Я использую MySQL и MySQL Workbench 5.2 CE. Когда я пытаюсь объединить 2 столбца, last_name и first_name , это не работает:

 выберите first_name + last_name как «Имя» из test.student
 
  • mysql
  • mysql-workbench
  • конкатенация

0

MySQL отличается от большинства СУБД использованием + или || для конкатенации. Он использует функцию CONCAT :

 SELECT CONCAT(first_name, ' ', last_name) AS Name FROM test.student
 

Есть еще CONCAT_WS

(Объединить с разделителем), которая является специальной формой CONCAT() :

 SELECT CONCAT_WS(' ', first_name, last_name) из test. student
 

Тем не менее, если вы хотите лечить || как оператор конкатенации строк (такой же, как CONCAT() ), а не как синоним для ИЛИ в MySQL, вы можете установить PIPES_AS_CONCAT режим SQL.

3

Попробуйте:

 выберите concat(first_name,last_name) как "Имя" из test.student
 

или, лучше:

 выберите concat(first_name," ",last_name) как "Имя" из test.student
 

Используйте функцию concat() вместо + следующим образом:

 выберите concat(имя, фамилия) как "Имя" из test.student
 

Помимо concat вы также можете использовать concat_ws (объединить с разделителем):

SELECT CONCAT_WS(' ', first_name, last_name) из test.student

Дополнительным преимуществом этой функции является пропуск нулевых значений .

См. https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_concat-ws

Это не способ объединения в MYSQL. Используйте функцию CONCAT. Посмотрите здесь: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Конкатенация строк MySQL с помощью CONCAT() | Джошуа Отвелл

Опубликовано в

·

5 минут чтения

·

16 марта 2022 г. форма конкатенация. В MySQL вы можете использовать CONCAT() функция. Давайте посмотрим, как…

Изображение Alejandro González с Pixabay

Получите копию моей электронной книги «10 советов по MySQL для всех» при подписке на информационный бюллетень OpenLampTech .

Самореклама:

Если вам нравится содержание, написанное здесь, во что бы то ни стало, поделитесь этим блогом и вашими любимыми сообщениями с другими, кому они тоже могут быть полезны или понравиться. Поскольку кофе — мой любимый напиток, вы даже можете купить мне его, если хотите!

Синтаксис MySQL CONCAT()

Я использую таблицу «актер» из известной базы данных Sakila для примеров запросов.

Синтаксис функции MySQL CONCAT() прост и легко запоминается:

В любой вызов функции CONCAT() должен быть передан хотя бы 1 параметр, иначе вы получите сообщение об ошибке:

MySQL CONCAT() использование

В качестве новой попытки мы могли бы попробовать поместить пробел между столбцами «first_name» и «last_name» из таблицы «actor», но это не объединить значения в одну строку:

Однако, если вы передадите столбцы ‘first_name’ и ‘last_name’ в качестве параметров для CONCAT() , они объединятся в строку:

Вам нужно изучить MySQL? Только начинаете и не понимаете, как запросить таблицу и получить нужные данные? Я создаю премиальный контент MySQL для начинающих по этой конкретной причине. В помощь тем, кто хочет изучить основы MySQL, но не знает, с чего начать. Узнайте больше о постах премиум-класса в блогах по мере их разработки и выпуска.

Расскажи мне еще!

Обратите внимание, что в предыдущем примере между значениями «first_name» и «last_name» нет пробела.

Тем не менее, CONCAT() принимает несколько параметров, поэтому вы можете просто передать пробел в качестве одного из них:

В приведенном ниже запросе я передаю 4 параметра в

CONCAT() , 1 из которых добавляется к началу строки:

Попробуйте использовать CONCAT() в любом из ваших запросов, где вам нужна конкатенация строк.

Поддержите мой блог и контент советом сегодня. Спасибо за ваше время и пожертвование.

  • Функция SUBSTRING_INDEX() в MySQL — с примерами.
  • Нравится то, что вы прочитали? Видите что-нибудь неправильное? Пожалуйста, прокомментируйте ниже и спасибо за чтение!

    Спасибо, что нашли время прочитать этот пост. Я искренне надеюсь, что вы открыли для себя что-то интересное и поучительное. Пожалуйста, поделитесь своими выводами здесь с кем-то из ваших знакомых, кто также получит от этого такую ​​же пользу.

    Посетите страницу Портфолио-Проекты, чтобы увидеть сообщения в блоге/технические статьи, которые я написал для клиентов.

    Кофе — мой самый любимый напиток, и если вы мне его купите, я его выпью!!!

    Чтобы получать уведомления по электронной почте (Никогда не спам) из этого блога («Digital Owl’s Prose») о последних сообщениях в блоге по мере их публикации, подпишитесь (по собственному желанию), нажав кнопку «Нажмите, чтобы подписаться!» в боковая панель на главной странице! (Не стесняйтесь в любое время просматривать страницу Политики конфиденциальности Digital Owl Prose по любым вопросам, которые могут у вас возникнуть: обновления по электронной почте, подписка, отказ, контактные формы и т. д.)

    Будьте уверены и посетите страницу «Лучшее из» для коллекции моих лучших сообщений в блоге.

    Джош Отвелл страстно желает учиться и расти как разработчик SQL и блоггер. Другие любимые занятия заставят его уткнуться носом в хорошую книгу, статью или командную строку Linux. Среди них он разделяет любовь к настольным ролевым играм, чтению фантастических романов и проведению времени с женой и двумя дочерьми.

    Отказ от ответственности: примеры, представленные в этом посте, являются гипотетическими идеями о том, как достичь подобных результатов. Это не самое лучшее решение(я). Большинство, если не все, представленные примеры выполняются в среде рабочей станции для персональной разработки/обучения и не должны рассматриваться как качественные или готовые к использованию. Ваши конкретные цели и потребности могут отличаться. Используйте те методы, которые лучше всего подходят для ваших нужд и целей. Мнения мои собственные.

    Чем я могу вам помочь ?

    • Вы думаете о создании блога? Я использую WordPress для своего блога. Давайте вместе сэкономим деньги на предложенных планах.
      💸
    • Возьмите шаблон подписи электронной почты Gmail в формате HTML из моего магазина Etsy и сделайте свои электронные письма яркими и выделяющимися. ✉️
    • Нужен хостинг для вашего следующего веб-приложения или сайта WordPress? Я использую и очень рекомендую Hostinger. У них отличные цены и обслуживание.
    • Я люблю читать Повторить: Суть Интернета, каждое утро в вашем почтовом ящике. Подпишитесь бесплатно . Помогите мне получить премиум-подписку, зарегистрировавшись по моей реферальной ссылке.
    • Получите бесплатный набор мобильных обоев
      Creator
      .
    • Только начинаете или хотите изучить MySQL? Узнайте о моих постах премиум-класса в блоге и серии MySQL для начинающих здесь.

    Раскрытие информации : Некоторые ссылки на услуги и продукты в этом посте являются партнерскими ссылками. Без каких-либо дополнительных затрат для вас, если вы совершите покупку, нажав на один из них, я получу комиссию.