- Gali kilti vienas ar net keli argumentai.
- Sujungia argumentus ir grąžina gautą eilutę.
- Kai visos reikšmės yra ne dvejetainės eilutės, gaunama ne dvejetainė eilutė.
- Gaunama dvejetainė eilutė, jei argumentuose naudojamos dvejetainės eilutės.
- Jei jis yra skaitinis, jis taip pat yra išverstas į ne dvejetainę eilutę panašią formą.
- Jei kiekvienas argumentas yra NULL, ši funkcija grąžina NULL.
Iš programų atidarykite „MySQL“ komandinės eilutės kliento apvalkalą ir paprašykite pridėkite slaptažodį.
01 pavyzdys: Sujunkite du stulpelius naudodami CONCAT
Duomenų bazėje „data“ turime lentelę „mokytojas“. Mes norime susieti jo eilutes iš dviejų stulpelių „TeachName“ ir „lastname“ be tarpo tarp jų.
Vykdykite komandą SELECT CONCAT, skliausteliuose nurodydami stulpelių pavadinimus, atskirtus kableliu. Sukurtas naujas stulpelis „Pavadinimas“, kad jame būtų išsaugotos susietos eilutės vertės, o rezultatas parodytas žemiau.
>> PASIRINKITE KONCATĄ („TeachName“, pavardę) kaip vardą iš duomenų.mokytojas;
02 pavyzdys: Sujunkite dvi kolonas su tarpu
Tarkime, kad duomenų bazėje „duomenys“ turime toliau pateiktą lentelę „studentas“ ir norime sujungti jos eilutes iš dviejų stulpelių „Vardas“ ir „Tema“ su tarpu tarp reikšmių.
Naudokite žemiau esančią komandą SELECT CONCAT, skliausteliuose pateikdami stulpelių pavadinimus, kad sujungtumėte eilutės reikšmes, atskirtas tarpu. Susietos vertės bus saugomos naujame stulpelyje „StudentDetail.„Dabar gautoje stulpelyje yra visos sujungtos eilutės.
>> SELECT CONCAT (vardas, pavadinimas, tema) AS „StudentDetail FROM“ duomenys.studentas;
03 pavyzdys: Sudėkite kelis stulpelius su specialiais simboliais
Tarkime, kad toliau pateiktoje lentelėje „mokytojas“ sujungiamos eilutės vertės iš daugiau nei dviejų stulpelių, turinčių skirtingą specialųjį simbolį.
Išbandykite žemiau esančią komandą, o vietoj tarpo pridėkite ženklą „-“. Gautame rinkinyje yra susietas stulpelių stulpelis iš lentelės stulpelių su jame naudojamais specialiaisiais simboliais.
>> PASIRINKITE KONKATĄ („TeachName“, „-“, „Subject“, „-“, kvalifikacija) AS Išsami informacija iš duomenų.mokytojas;
04 pavyzdys: Sujunkite gaunant papildomus stulpelius
Jei norite susieti stulpelių eilutes, tuo pačiu metu gaudami kitus stulpelius toje pačioje užklausoje, esate tinkamoje vietoje. Apsvarstykite lentelę „gyvūnai“ toliau pateiktoje duomenų bazės „duomenyse“.
Mes sujungėme tris jo stulpelius; „Spalva“, „Vardas“ ir „Lytis“, tarp jų naudojant tarpą ir specialiuosius simbolius. Susieta eilutė iš šių stulpelių bus išsaugota naujame stulpelyje „AnimData“. Kita vertus, iš šios lentelės mes patekome į kitų stulpelių „Kaina“ ir „Amžius“ įrašus. Įrašai bus paimti iš eilučių, kur gyvūnų lytis yra „M“ - tai tik vyrai. Turite susietų eilučių iš skirtingų stulpelių, taip pat kitų stulpelių, kurie buvo rodomi atskirai, rezultatus.
>> PASIRINKITE KONKATĄ (spalva, ", pavadinimas," - ", lytis) AS" AnimData ", kaina, amžius iš duomenų.gyvūnai KUR Lytis = 'M';
05 pavyzdys: susieti daugiau stygų su stulpelių eilutėmis
Jei norite pridėti eilučių vietoj specialių simbolių ar tarpų, galite tai padaryti. Taigi, turėkime paprastą pavyzdį, kaip tai padaryti. Tarkime, kad turite lentelę „knyga“ ir turite žemiau pateiktus duomenis apie knygas, jų kainas, autorius, apimtis ir puslapius, kaip parodyta paveikslėlyje. Dabar sujungsime eilutes iš stulpelių „Vardas“, „Autorius“ ir „Kaina“ naudodami šią lentelę.
Mes naudojome SELECT CONCAT sakinį, kad sujungtume eilutes iš trijų stulpelių. Visi šios lentelės duomenys pirmiausia rūšiuojami stulpelio „Pavadinimas“ didėjimo tvarka. Skliausteliuose mes nurodėme „Knyga“, „Parašė“ ir „Yra kaina“ kaip papildomas eilutes, o ne tarpą ar specialiuosius simbolius apverstuose kableliuose. Dabar funkcija CONCAT paims pirmąją apverstą kablelio reikšmę „Knyga“ kartu su stulpelio „Vardas“ verte, tada antrąją apversto kablelio vertę „parašė“, po kurios eina stulpelio „Autorius“ eilutės reikšmė ir galiausiai trečiąją apversta kablelio reikšmė „turi kainą“, po kurios nurodoma stulpelio „Kaina“ vertė. Visos šios stulpelių eilutės ir reikšmės bus sujungtos ir tai sudarys pilną sakinį. Šis visas naujas mega eilutės sakinys bus saugomas naujame stulpelyje „BookDetail“.
>> SELECT CONCAT („Knyga“, pavadinimas, „parašė“, autorius, „turi kainą“, kainą) AS „BookDetail FROM“ duomenys.knyga UŽSAKYTI PAVADINIMU ASC;
06 pavyzdys: sujungkite stulpelių eilutes naudodami CONCAT_WS
Atrodo, kad CONCAT_WS yra unikalus CONCAT funkcijos variantas, leidžiantis nurodyti, kuris simbolis (ar simboliai) bus atmetamas kaip daliklis, susijęs su eilutės sujungimu. Tai paprasta, kaip ir paprasta CONCAT funkcija. Taigi apsvarstykime „MySQL“ duomenų bazės lentelę „socialinė“, turinti vertes apie vartotojus, jų dažniausiai naudojamas socialinės žiniasklaidos programas ir vartotojų amžių. Dabar sujungimą atliksime naudodami funkciją CONCAT_WS.
Toliau pateiktoje užklausoje mes sujungėme tris stulpelius ir išsaugojome šį sujungtą rezultatą stulpelyje „Išsamiau“. Kaip pastebite, yra kažkas kitokio, nes prieš stulpelių pavadinimus apverstuose kableliuose apibrėžėme keletą specialiųjų simbolių „***“. Taip yra todėl, kad norime įtraukti šiuos specialiuosius simbolius tarp stulpelių eilučių, kurie eina vienas po kito naudodami funkciją CONTACT_WS. Taigi, pagal šį scenarijų akivaizdu, kad mums nereikia įdėti specialių simbolių į užklausą po kiekvieno nurodyto stulpelio, kai kalbama apie to paties tipo simbolius.
>> Pasirinkite CONCAT_WS ('***', vartotojas, svetainė, amžius) kaip išsamią informaciją iš duomenų.socialinis;
Išvada:
Dabar jūs paprasčiausiai išmanote visus esminius dalykus, susijusius su eilučių stulpelių ir jų reikšmių sujungimu, naudodami paprastą „CONCAT“ funkciją ir „CONCAT_WS“ funkciją „MySQL Shell“.