- Võib esineda üks või isegi mitu argumenti.
- Liidab argumendid ja tagastab saadud stringi.
- Kui kõik väärtused on mitte-binaarsed stringid, andke mitte-binaarne string.
- Annab binaarstringi, kui argumentides kasutatakse mõnda binaarset stringi.
- Kui see on arvuline, tõlgitakse see ka mittebinaarsesse stringitaolisse vormi.
- Kui iga argument on NULL, tagastab see funktsioon NULL.
Avage rakendustest MySQL-i käsurea klientkarp ja lisage küsimisel oma parool.
Näide 01: Liitke kaks veergu CONCAT-i abil
Meil on andmebaasis 'data' tabel 'õpetaja'. Soovime siduda selle stringid kahest veerust “TeachName” ja “lastname” ilma nendevahelise tühimikuta.
Käivitage käsk SELECT CONCAT, mille sulgudes on komadega eraldatud veerunimed. Uus veerg "Nimi" genereeritakse liitunud stringi väärtuste salvestamiseks ja tulemus kuvatakse allpool.
>> Valige CONCAT (TeachName, perekonnanimi) kui nimi FROM andmetest.õpetaja;
Näide 02: Liitke kaks veergu tühikuga
Oletame, et meil on andmebaasis „data” allolev tabel „õpilane“ ja me tahame ühendada selle stringid kahest veerust „Nimi“ ja „Teema“ tühiku väärtuste vahel.
Tühikuga eraldatud stringi väärtuste ühendamiseks kasutage allpool olevat käsku SELECT CONCAT, sisestades sulgudes veergude nimed. Liidetud väärtused salvestatakse uude veergu „StudentDetail.”Tulemuseks oleval veerul on nüüd kõik liidetud stringid.
>> SELECT CONCAT (nimi, ", subjekt) AS StudentDetail FROM andmetest.õpilane;
Näide 03: Mitme veeru liitmine erimärkidega
Oletame, et allpool olev tabel “õpetaja” ühendab stringi väärtused rohkem kui kahest erineva erimärgiga veerust.
Proovige allolevat käsku, lisades tühiku asemel märgi '-'. Saadud komplektil on tabeliveergude liidetud stringide veerg, milles on kasutatud erimärke.
>> SELECT CONCAT (TeachName, '-', subjekt, '-', kvalifikatsioon) AS Detail FROM data.õpetaja;
Näide 04: Liitmine täiendavate veergude hankimisel
Kui soovite samastada päringu teisi veerge tooma, ühendage veerustringid, olete õiges kohas. Vaatleme alloleva andmebaasi „andmete” tabelit „loomad”.
Oleme liitnud selle kolm veergu; „Värv”, „Nimi” ja „Sugu”, kasutades nende vahel tühikut ja erimärke. Nendest veergudest koosnev string salvestatakse uude veergu "AnimData". Teiselt poolt oleme sellest tabelist pääsenud juurde teiste veergude “Hind” ja “Vanus” kirjetele. Kirjed hangitakse ridadest, kus loomade sugu “M” tähendab ainult isaseid. Teil on nii erinevate veergude liidetud stringide kui ka muude eraldi kuvatud veergude tulemused.
>> SELECT CONCAT (värv, ", nimi, '-', sugu) AS AnimData, hind, vanus FROM andmetest.loomad KUS sugu = 'M';
Näide 05: Liitke veel stringe veergude stringidega
Kui soovite erimärkide või tühikute asemel lisada stringe, saate ka seda teha. Olgu selle tegemiseks lihtne näide. Oletame, et teil on tabeli raamat ja teil on allpool toodud andmed raamatute, nende hindade, autorite, mahtude ja lehtede kohta, nagu pildil näidatud. Nüüd ühendame selle tabeli abil veergude "Nimi", "Autor" ja "Hind" stringid.
Kolme veeru stringide liitmiseks oleme kasutanud lauset SELECT CONCAT. Kõik selle tabeli andmed on kõigepealt sorteeritud veeru „Nimi“ kasvavas järjekorras. Sulgudes oleme ümberpööratud komades lisanud tühikute või erimärkide asemel lisaringideks „The Book“, „wrote by“ ja „has price“. Nüüd võtab funktsioon CONCAT esimese pööratud koma väärtuse “The book” koos veerus “Name” oleva väärtusega, seejärel teise pööratud koma väärtuse “kirjutas”, millele järgneb veeru “Author” stringiväärtus ja lõpuks kolmas tagurpidi koma väärtus "on hind", millele järgneb veeru "Hind" väärtus. Kõik need veergude stringid ja väärtused ühendatakse ja see moodustab täieõigusliku lause. See kogu uus mega stringilause salvestatakse uude veergu „BookDetail”.
>> SELECT CONCAT ('raamat', nimi, 'kirjutanud', autor, 'on hind', hind) AS BookDetail FROM andmed.raamat TELLI NIMI JÄRGI;
Näide 06: veeru stringide liitmine CONCAT_WS-i abil
CONCAT_WS näib olevat CONCAT-i funktsiooni ainulaadne variant, mis võimaldab teil määrata, milline sümbol (või märgid) eraldatakse stringi liitmise osas jagajana. See on sama lihtne kui lihtne funktsioon CONCAT. Vaatleme siis MySQL-i andmebaasi tabelit "sotsiaalne", millel on väärtused kasutajate, nende kõige sagedamini kasutatavate sotsiaalmeedia rakenduste ja kasutajate vanuste kohta. Nüüd teostame liitmise funktsiooni CONCAT_WS abil.
Allpool olevas päringus oleme liitnud kolm veergu ja salvestanud selle liidetud tulemuse veergu "Detail". Nagu võite märgata, on midagi muud, kuna oleme veerunimede ette pööratud komades määranud mõned erimärgid “***”. Seda seetõttu, et me tahame lisada need erimärgid veergude stringide vahele, tulles üksteise järel funktsiooni CONTACT_WS abil. Nii et selle stsenaariumi põhjal on selge, et me ei pea iga konkreetse veeru järel päringusse lisama erimärke, kui tegemist on sama tüüpi tähemärgiga.
>> VALI CONCAT_WS ('***', kasutaja, veebisait, vanus) andmete üksikasjadena.sotsiaalne;
Järeldus:
Nüüd olete lihtsate funktsioonide CONCAT ja MySQL Shell funktsioonide CONCAT_WS abil kõik olulised asjad stringide veergude ja nende väärtuste liitmise kohta eruditeeritud.