- Može se dogoditi jedan ili više argumenata.
- Spaja argumente i vraća rezultirajući niz.
- Kada su sve vrijednosti nebinarni nizovi, dajte nebinarni niz.
- Daje binarni niz ako se u argumentima koriste bilo koji binarni nizovi.
- Ako je numerički, također se prevodi u svoj nebinarni oblik sličan nizu.
- Ako je svaki argument NULL, ova funkcija vraća NULL.
Otvorite školsku ljusku naredbenog retka MySQL iz aplikacija i dodajte lozinku na upit.
Primjer 01: Spojite dva stupca pomoću CONCAT-a
U bazi podataka "data" imamo tablicu "učitelj". Želimo povezati njegove nizove iz dva stupca "TeachName" i "lastname" bez razmaka između njih.
Izvršite naredbu SELECT CONCAT s imenima stupaca u zagradama odvojenim zarezom. Generira se novi stupac "Ime" za pohranu spojenih vrijednosti niza, a rezultat je prikazan u nastavku.
>> ODABERI CONCAT (TeachName, prezime) KAO Ime IZ podataka.učitelj, nastavnik, profesor;
Primjer 02: Spajanje dva stupca s razmakom
Pretpostavimo da imamo donju tablicu "student" u bazi podataka "data" i želimo kombinirati njene nizove iz dva stupca "Name" i "Subject" s razmakom između vrijednosti.
Upotrijebite donju naredbu SELECT CONCAT dok dajete imena stupaca u zagradama kako biste kombinirali vrijednosti niza odvojene razmakom. Povezane vrijednosti pohranit će se u novom stupcu „StudentDetail.”Rezultirani stupac sad ima sve spojene nizove.
>> ODABERITE CONCAT (Ime, ", Predmet) KAO StudentDetail IZ podataka.student;
Primjer 03: Spajanje više stupaca s posebnim znakovima
Pretpostavimo da donja tablica "učitelj" spaja vrijednosti niza iz više od dva stupca s različitim posebnim znakom.
Pokušajte s naredbom u nastavku dodavanjem znaka '-' umjesto razmaka. Dobiveni skup ima spojeni stupac nizova iz stupaca tablice s posebnim znakovima koji se koriste u njemu.
>> ODABERI CONCAT (Ime nastavnika, '-', predmet, '-', kvalifikacija) KAO Pojedinost IZ podataka.učitelj, nastavnik, profesor;
Primjer 04: Spajanje dok dohvaćate dodatne stupce
Ako želite spojiti nizove stupaca dok dohvaćate druge stupce u istom upitu, na pravom ste mjestu. Uzmite u obzir tablicu „životinje“ u donjoj bazi podataka „podaci“.
Spajamo njegove tri kolone; "Boja", "Ime" i "Spol", dok između njih koristite razmak i posebne znakove. Spojeni niz iz ovih stupaca spremit će se u novi stupac "AnimData". S druge strane, pristupili smo zapisima ostalih stupaca "Cijena" i "Dob" iz ove tablice. Zapisi će se dohvatiti iz redaka u kojima je spol životinja "M" znači samo mužjaci. Imate rezultate spojenih nizova iz različitih stupaca, kao i ostalih stupaca koji su prikazani odvojeno.
>> ODABERITE CONCAT (boja, ", ime, '-', spol) KAO AnimData, cijena, dob IZ podataka.životinje WHERE Spol = 'M';
Primjer 05: Spojite više žica s nizovima stupaca
Ako želite dodati nizove umjesto posebnih znakova ili razmaka, možete i to učiniti. Dakle, imajmo jednostavan primjer za to. Pretpostavimo da imate tablicu "knjiga" i da imate dolje navedene podatke o knjigama, njihovim cijenama, autorima, količinama i stranicama kao što je prikazano na slici. Sada ćemo spojiti nizove iz stupca "Ime", "Autor" i "Cijena" pomoću ove tablice.
Koristili smo naredbu SELECT CONCAT za spajanje nizova iz tri stupca. Svi podaci iz ove tablice prvo se sortiraju uzlaznim redoslijedom stupca "Ime". U zagradama smo naveli "Knjigu", "napisao" i "ima cijenu" kao dodatne nizove umjesto razmaka ili posebnih znakova u obrnutim zarezima. Sada će funkcija CONCAT uzeti prvu obrnutu vrijednost zarezom "Knjiga" zajedno s vrijednošću iz stupca "Ime", zatim drugu obrnutu vrijednost zarezom "napisano s" nakon čega slijedi vrijednost niza stupca "Autor", i na kraju treću obrnuta vrijednost zareza "ima cijenu" nakon koje slijedi vrijednost stupca "Cijena". Svi ovi nizovi i vrijednosti iz stupaca kombinirat će se i stvorit će potpuno glavnu rečenicu. Ova cijela nova mega rečenica u nizu bit će pohranjena u novom stupcu "BookDetail".
>> ODABERITE CONCAT ('Knjiga', Ime, 'napisao', Autor, 'ima cijenu', Cijena) KAO BookDetail IZ podataka.knjiga REDOSLIJED PO IMENU ASC;
Primjer 06: Spojite nizove stupaca pomoću CONCAT_WS
Čini se da je CONCAT_WS jedinstvena varijanta značajke CONCAT koja vam omogućuje da odredite koji će simbol (ili znakovi) biti premješten kao razdjelnik u vezi sa spajanjem nizova. Jednostavna je kao i jednostavna funkcija CONCAT. Dakle, razmotrimo tablicu „društvena“ u MySQL bazi podataka koja ima vrijednosti o korisnicima, njihovim najčešće korištenim aplikacijama na društvenim mrežama i dobima korisnika. Sada ćemo izvršiti spajanje pomoću funkcije CONCAT_WS.
U donjem upitu spajamo tri stupca i pohranjujemo ovaj spojeni rezultat u stupac "Detail". Kao što možete primijetiti, postoji nešto drugačije jer smo definirali neke posebne znakove "***" u obrnutim zarezima prije naziva stupaca. To je zato što ove posebne znakove želimo dodati između nizova stupaca koji dolaze jedan za drugim pomoću funkcije CONTACT_WS. Dakle, iz ovog scenarija jasno je da ne trebamo stavljati posebne znakove u upit nakon svakog navedenog stupca kada se radi o istoj vrsti znakova.
>> ODABERITE CONCAT_WS ('***', Korisnik, Web stranica, Dob) KAO Pojedinost IZ podataka.socijalni;
Zaključak:
Sada ste učinkovito erudirali sve bitne stvari o spajanju stupaca niza i njihovih vrijednosti pomoću jednostavne funkcije CONCAT i funkcije CONCAT_WS u MySQL Shell-u.