MySQL MariaDB

MySQL комбинира низови колони с функция CONCAT

MySQL комбинира низови колони с функция CONCAT
Обединяването на низове в MySQL помага на един да добави един низ в края на друг. Обединяването на низове или полета от банка данни в единично поле в набора от резултати е възможно с методите за управление на низове на MySQL. В това ръководство, докато използвате методите MySQL CONCAT или CONCAT WS, ще откриете различни начини за обединяване на два или повече низа едновременно.

Отворете клиентската обвивка на командния ред на MySQL от приложенията и добавете паролата си при поискване.

Пример 01: Обединете две колони с помощта на CONCAT

Имаме таблица „учител“ в базата данни „данни“. Искаме да свържем неговите низове от две колони „TeachName“ и „lastname“, без интервал между тях.

Изпълнете командата SELECT CONCAT с имена на колони в скоби, разделени със запетая. Генерира се новата колона „Име“, за да се съхраняват конкатенираните низови стойности в нея и резултатът е показан по-долу.

>> ИЗБЕРЕТЕ CONCAT (TeachName, фамилно име) КАТО ИМЕ ОТ данни.учител;

Пример 02: Обединете две колони с интервал

Да предположим, че имаме таблицата по-долу „студент“ в базата данни „данни“ и искаме да комбинираме нейните низове от две колони „Име“ и „Тема“ с интервал между стойностите.

Използвайте командата SELECT CONCAT по-долу, докато предоставяте имената на колони в скоби, за да комбинирате низовите стойности, разделени с интервал. Обединените стойности ще се съхраняват в нова колона „StudentDetail.”Получената колона има всички обединени низове сега.

>> ИЗБЕРЕТЕ CONCAT (Име, ", Тема) КАТО StudentDetail ОТ данните.студент;

Пример 03: Обединяване на множество колони със специални символи

Нека приемем, че таблицата по-долу „учител“ обединява низови стойности от повече от две колони с различен специален символ.

Опитайте командата по-долу, докато добавяте знака „-“ вместо интервал. Полученият набор има обединената колона от низове от колоните на таблицата със специални символи, използвани в него.

>> ИЗБЕРЕТЕ CONCAT (TeachName, '-', subject, '-', квалификация) КАТО ДЕТАЙЛ ОТ данни.учител;

Пример 04: Обединяване при извличане на допълнителни колони

Ако искате да обедините низовете на колони, докато извличате други колони в същата заявка, вие сте на правилното място. Помислете за таблицата „животни“ в базата данни „данни“ по-долу.

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

>> ИЗБЕРЕТЕ CONCAT (Цвят, ", Име, '-', Пол) КАТО AnimData, Цена, Възраст ОТ данните.животни WHERE Пол = 'M';

Пример 05: Обединяване на повече низове с низове на колони

Ако искате да добавите низове вместо специални знаци или интервали, можете да направите и това. Така че, нека имаме прост пример за това. Да предположим, че имате таблица „книга“ и имате по-долу данни относно книгите, техните цени, автори, обеми и страници, както е показано на снимката. Сега ще обединяваме низовете от колоната „Име“, „Автор“ и „Цена“, използвайки тази таблица.

Използвахме оператора SELECT CONCAT за обединяване на низове от трите колони. Всички данни от тази таблица първо се сортират във възходящ ред на колона „Име“. В скобите сме предоставили „Книгата“, „написана от“ и „има цена“ като допълнителни низове вместо интервал или специални символи в обърнати запетаи. Сега функцията CONCAT ще вземе първата обърната стойност на запетая „Книгата“ заедно със стойността от колоната „Име“, след това втората обърната стойност на запетая „написана от“, последвана от стойността на низа на колоната „Автор“ и накрая третата обърната стойност на запетая „има цена“, последвана от стойността на колона „Цена“. Всички тези низове и стойности от колоните ще бъдат комбинирани и това ще направи изцяло изречение. Цялото ново изречение с мега низ ще се съхранява в новата колона “BookDetail”.

>> SELECT CONCAT ('Книгата', Име, 'написано от', Автор, 'има цена', Цена) КАТО BookDetail ОТ данните.книга ПОРЪЧКА ИМЕ ASC;

Пример 06: Обединяване на низове на колони с помощта на CONCAT_WS

CONCAT_WS изглежда уникален вариант на функцията CONCAT, който ви позволява да посочите кой символ (или символи) ще бъде прехвърлен като разделител по отношение на конкатенацията на низове. Тя е толкова проста, колкото простата функция CONCAT. Така че, нека разгледаме таблицата „социална“ в базата данни MySQL, имаща стойности за потребителите, техните най-използвани приложения за социални медии и възрастта на потребителите. Сега ще извършим конкатенацията с помощта на функцията CONCAT_WS.

В заявката по-долу обединяваме три колони и съхраняваме този свързан резултат в колона „Подробности“. Както можете да забележите, има нещо различно, тъй като дефинирахме някои специални символи „***“ в обърнатите запетаи преди имената на колоните. Това е така, защото искаме да добавим тези специални знаци между низовете на колоните, идващи един след друг с помощта на функцията CONTACT_WS. И така, от този сценарий става ясно, че не е необходимо да поставяме специални символи в заявката след всяка колона, посочена, когато става въпрос за същия тип знак.

>> ИЗБЕРЕТЕ CONCAT_WS ('***', Потребител, Уебсайт, Възраст) КАТО Подробности ОТ данните.социална;

Заключение:

Вече ефективно ерудирате всички съществени неща за конкатенацията на колони с низове и техните стойности, като използвате простата функция CONCAT и функцията CONCAT_WS в MySQL Shell.

5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...
Как да инсталирате League Of Legends на Ubuntu 14.04
Ако сте фен на League of Legends, това е възможност за вас да тествате League of Legends. Имайте предвид, че LOL се поддържа на PlayOnLinux, ако сте п...