- Egy vagy akár több érv is előfordulhat.
- Összekapcsolja az argumentumokat, és az eredő karakterláncot adja vissza.
- Ha az összes érték nem bináris karakterlánc, akkor adjon nem bináris karakterláncot.
- Bináris karakterláncot ad, ha bármilyen bináris karakterláncot használnak az argumentumokban.
- Ha numerikus, akkor azt nem bináris karakterlánc-szerű formára is lefordítják.
- Ha minden argumentum NULL, akkor ez a függvény NULL értéket ad vissza.
Nyissa meg a MySQL parancssori ügyfélhéjat az alkalmazásokból, és kérésre adja meg jelszavát.
01. példa: Két oszlop összefűzése a CONCAT használatával
Van egy "tanár" tábla az "adatok" adatbázisban. Két „TeachName” és „lastname” oszlopból szeretnénk összekapcsolni a karakterláncait szóköz nélkül.
Hajtsa végre a SELECT CONCAT parancsot, amelynek oszlopnevei vesszővel elválasztva vannak a zárójelben. Az új „Név” oszlop jön létre az összefűzött karakterlánc-értékek tárolására, és az eredmény látható alább.
>> SELECT CONCAT (TeachName, vezetéknév) AS Name FROM adatokból.tanár;
02. példa: Két oszlop összefűzése szóközzel
Tegyük fel, hogy az alábbi „student” táblázat szerepel az „data” adatbázisban, és két „Név” és „Tárgy” oszlopból álló húrjait össze akarjuk kapcsolni az értékek közötti szóközzel.
Használja az alábbi SELECT CONCAT parancsot, miközben zárójelben adja meg az oszlopok nevét a szóközzel elválasztott karakterlánc-értékek kombinálásához. Az összefűzött értékek egy új oszlopban, a „StudentDetail.”Az eredményül kapott oszlop az összes összefűzött karakterláncot tartalmazza.
>> SELECT CONCAT (Név, ", Tárgy) AS StudentDetail FROM adatokból.diák;
03. példa: Több oszlop összefűzése speciális karakterekkel
Tegyük fel, hogy az alábbi táblázat „tanár” összefűzi a karakterláncok értékeit kétnél több oszlopból, különböző speciális karakterekkel.
Próbálkozzon az alábbi paranccsal, miközben a „-” jelet adja szóköz helyett. A kapott halmaz a táblázat oszlopainak összefűzött húroszlopát tartalmazza, speciális karakterekkel.
>> SELECT CONCAT (TeachName, '-', subject, '-', minősítés) AS Detail FROM data.tanár;
04. példa: Összeillesztés további oszlopok lekérése közben
Ha összefűzni akarja az oszlopok karakterláncait, miközben ugyanabban a lekérdezésben más oszlopokat is letölt, akkor jó helyen jár. Tekintsük az alábbi adatbázis „állatok” tábláját.
Összekötöttük a három oszlopát; „Szín”, „Név” és „Nem”, közben szóköz és speciális karakterek használata. Az ezekből az oszlopokból álló összefűzött karakterlánc egy új „AnimData” oszlopba kerül. Másrészt e táblázatból az „Ár” és az „Életkor” egyéb oszlopok rekordjaihoz férünk hozzá. A rekordokat azokból a sorokból fogják lekérni, ahol az állatok neme „M” csak hímivarú. Megvan a különböző oszlopok összefűzött karakterláncainak eredménye, valamint más, külön-külön megjelenített oszlopok eredményei.
>> SELECT CONCAT (Color, ", Name, '-', Gender) AS AnimData, Price, Age FROM data.állatok WHERE nem = 'M';
05. példa: Több karakterlánc összefűzése oszlopfüzérekkel
Ha speciális karakterek vagy szóközök helyett szeretne karakterláncokat hozzáadni, akkor ezt is megteheti. Tehát legyen egy egyszerű példa erre. Tegyük fel, hogy van táblázatos „könyve”, és az alábbi adatok állnak rendelkezésre a könyvekkel, azok áraival, szerzőivel, köteteivel és oldalaival kapcsolatban, a képen látható módon. Most a táblázat segítségével összefűzzük a „Név”, „Szerző” és „Ár” oszlopok húrjait.
A SELECT CONCAT utasítást használtuk a három oszlopból álló karakterláncok összefűzéséhez. A táblázat összes adata először a „Név” oszlop növekvő sorrendjébe van rendezve. A zárójelben a „The Book”, „wrote by” és az „has price” értékeket adtuk meg extra karakterláncokként szóköz vagy speciális karakter helyett fordított vesszőben. Most a CONCAT függvény az első fordított vesszőértéket „The book” veszi a „Név” oszlop értékével együtt, majd a „inverz vessző” második fordított vesszőértéket, majd a „Szerző” oszlop karakterláncát, végül pedig a harmadik fordított vesszőérték „van ára”, amelyet az „Ár” oszlop értéke követ. Az oszlopokból származó összes karakterláncot és értéket egyesítjük, és ez egy teljes mondatot fog alkotni. Ez az új mega karakterlánc mondat az új „BookDetail” oszlopban lesz tárolva.
>> SELECT CONCAT ('A könyv', Név, 'Írta', Szerző, 'ára van', Ár) AS BookDetail FROM adatok.könyv RENDELÉS Név szerint ASC;
06. példa: Oszlopfüzérek összefűzése a CONCAT_WS használatával
Úgy tűnik, hogy a CONCAT_WS a CONCAT szolgáltatás egyedi változata, amely lehetővé teszi, hogy megadja, melyik szimbólum (vagy karakterek) legyenek elválasztóként a karakterlánc összefűzésében. Olyan egyszerű, mint az egyszerű CONCAT funkció. Tekintsük tehát a MySQL adatbázis „közösségi” tábláját, amelynek értéke van a felhasználókról, a leggyakrabban használt közösségi média alkalmazásokról és a felhasználók életkoráról. Most elvégezzük az összefűzést a CONCAT_WS függvény segítségével.
Az alábbi lekérdezésben három oszlopot összefűzünk, és ezt az összefűzött eredményt a „Részlet” oszlopba tároljuk. Amint észreveheti, van valami más, mivel az oszlopnevek előtt néhány speciális karaktert (***) definiáltunk a fordított vesszőkben. Ez azért van, mert ezeket a speciális karaktereket hozzá akarjuk adni az oszlopok karakterláncai közé, amelyek egymás után jönnek a CONTACT_WS függvény segítségével. Tehát ebből a forgatókönyvből kiderül, hogy nem kell külön karaktereket feltennünk a lekérdezésben minden megadott oszlop után, amikor azonos típusú karakterről van szó.
>> SELECT CONCAT_WS ('***', Felhasználó, Webhely, Kor) AS Detail FROM adatok.társadalmi;
Következtetés:
Az egyszerű CONCAT függvény és a MySQL Shell CONCAT_WS függvényének használatával mostantól hatékonyan megvizsgálja a karaktersorozatok és értékeik összefűzésével kapcsolatos összes lényeges dolgot.