Функция MySQL CONCAT
Объединение строк в MySQL помогает добавлять одну строку в конец другой. Объединение полей строки или банка данных в отдельное поле в наборе результатов возможно с помощью методов управления строками MySQL. В этом руководстве при использовании методов MySQL CONCAT или CONCAT WS вы обнаружите различные способы одновременного объединения двух или более строк.
- Может возникнуть один или даже несколько аргументов.
- Объединяет аргументы и возвращает результирующую строку.
- Когда все значения являются недвоичными строками, вывести недвоичную строку.
- Выдает двоичную строку, если в аргументах используются какие-либо двоичные строки.
- Если он числовой, он также переводится в небинарную строковую форму.
- Если каждый аргумент равен NULL, эта функция возвращает NULL.
Откройте клиентскую оболочку командной строки MySQL из приложений и добавьте свой пароль по запросу.
Содержание
- Пример 1: объединение двух столбцов с помощью CONCAT
- Пример 2: объединить два столбца с пробелом
- Пример 3: объединение нескольких столбцов со специальными символами
- Пример 4: объединение при получении дополнительных столбцов
- Пример 5: объединить больше строк со строками столбцов
- Пример 6: Объединение строк столбцов с использованием CONCAT_WS
- Заключение
Пример 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()
функция. Давайте посмотрим, как…
Получите копию моей электронной книги «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 параметра в
, 1 из которых добавляется к началу строки:
Попробуйте использовать CONCAT()
в любом из ваших запросов, где вам нужна конкатенация строк.
Поддержите мой блог и контент советом сегодня. Спасибо за ваше время и пожертвование.
Нравится то, что вы прочитали? Видите что-нибудь неправильное? Пожалуйста, прокомментируйте ниже и спасибо за чтение!
Спасибо, что нашли время прочитать этот пост. Я искренне надеюсь, что вы открыли для себя что-то интересное и поучительное. Пожалуйста, поделитесь своими выводами здесь с кем-то из ваших знакомых, кто также получит от этого такую же пользу.
Посетите страницу Портфолио-Проекты, чтобы увидеть сообщения в блоге/технические статьи, которые я написал для клиентов.
Кофе — мой самый любимый напиток, и если вы мне его купите, я его выпью!!!
Чтобы получать уведомления по электронной почте (Никогда не спам) из этого блога («Digital Owl’s Prose») о последних сообщениях в блоге по мере их публикации, подпишитесь (по собственному желанию), нажав кнопку «Нажмите, чтобы подписаться!» в боковая панель на главной странице! (Не стесняйтесь в любое время просматривать страницу Политики конфиденциальности Digital Owl Prose по любым вопросам, которые могут у вас возникнуть: обновления по электронной почте, подписка, отказ, контактные формы и т. д.)
Будьте уверены и посетите страницу «Лучшее из» для коллекции моих лучших сообщений в блоге.
Джош Отвелл страстно желает учиться и расти как разработчик SQL и блоггер. Другие любимые занятия заставят его уткнуться носом в хорошую книгу, статью или командную строку Linux. Среди них он разделяет любовь к настольным ролевым играм, чтению фантастических романов и проведению времени с женой и двумя дочерьми.
Отказ от ответственности: примеры, представленные в этом посте, являются гипотетическими идеями о том, как достичь подобных результатов. Это не самое лучшее решение(я). Большинство, если не все, представленные примеры выполняются в среде рабочей станции для персональной разработки/обучения и не должны рассматриваться как качественные или готовые к использованию. Ваши конкретные цели и потребности могут отличаться. Используйте те методы, которые лучше всего подходят для ваших нужд и целей. Мнения мои собственные.
Чем я могу вам помочь ?
- Вы думаете о создании блога? Я использую WordPress для своего блога. Давайте вместе сэкономим деньги на предложенных планах.
- Возьмите шаблон подписи электронной почты Gmail в формате HTML из моего магазина Etsy и сделайте свои электронные письма яркими и выделяющимися. ✉️
- Нужен хостинг для вашего следующего веб-приложения или сайта WordPress? Я использую и очень рекомендую Hostinger. У них отличные цены и обслуживание.
- Я люблю читать Повторить: Суть Интернета, каждое утро в вашем почтовом ящике. Подпишитесь бесплатно . Помогите мне получить премиум-подписку, зарегистрировавшись по моей реферальной ссылке.
- Получите бесплатный набор мобильных обоев
- Только начинаете или хотите изучить MySQL? Узнайте о моих постах премиум-класса в блоге и серии MySQL для начинающих здесь.
Раскрытие информации : Некоторые ссылки на услуги и продукты в этом посте являются партнерскими ссылками. Без каких-либо дополнительных затрат для вас, если вы совершите покупку, нажав на один из них, я получу комиссию.