- Ett eller flera argument kan förekomma.
- Sammankopplar argumenten och returnerar den resulterande strängen.
- När alla värden är icke-binära strängar, ge en icke-binär sträng.
- Ger en binär sträng om några binära strängar används i argumenten.
- Om det är numeriskt översätts det också till sin icke-binära strängliknande form.
- Om varje argument är NULL returnerar denna funktion NULL.
Öppna MySQL-kommandoradsklienten från applikationerna och lägg till ditt lösenord när du frågar.
Exempel 01: Sammankoppla två kolumner med CONCAT
Vi har en tabell "lärare" i databasen "data". Vi vill associera dess strängar från två kolumner "TeachName" och "efternamn" utan ett mellanslag mellan dem.
Utför kommandot SELECT CONCAT med kolumnnamn inom parentes åtskilda av ett komma. Den nya kolumnen "Namn" genereras för att lagra de sammanhängande strängvärdena i den och resultatet visas nedan.
>> VÄLJ CONCAT (TeachName, efternamn) AS Name FROM data.lärare;
Exempel 02: Sammankoppla två kolumner med mellanslag
Anta att vi har nedanstående tabell "student" i databasen "data" och vi vill kombinera dess strängar från två kolumner "Namn" och "Ämne" med mellanslag mellan värdena.
Använd kommandot SELECT CONCAT nedan medan du anger namnen på kolumner inom parentes för att kombinera strängvärden åtskilda av ett mellanslag. De sammanhängande värdena sparas i en ny kolumn, ”StudentDetail.”Den resulterande kolumnen har alla sammanhängande strängar nu.
>> VÄLJ CONCAT (Namn, ", Ämne) SOM StudentDetail FRÅN data.studerande;
Exempel 03: Sammankoppla flera kolumner med specialtecken
Låt oss anta nedanstående tabell "lärare" för att sammanfoga strängvärden från mer än två kolumner med olika specialtecken.
Försök med kommandot nedan medan du lägger till '-' tecknet istället för mellanslag. Den resulterande uppsättningen har den sammanhängande strängkolumnen från tabellkolumnerna med specialtecken som används i den.
>> VÄLJ KONCAT (TeachName, '-', subject, '-', kvalifikation) SOM Detaljer FRÅN data.lärare;
Exempel 04: Sammankoppla medan ytterligare kolumner hämtas
Om du vill sammanfoga kolumnsträngarna medan du hämtar andra kolumner i samma fråga är du på rätt plats. Tänk på tabellen "djur" i databasen "data" nedan.
Vi har sammanfogat dess tre kolumner; "Färg", "Namn" och "Kön" när du använder mellanslag och specialtecken däremellan. Den sammanhängande strängen från dessa kolumner kommer att sparas i en ny kolumn, "AnimData". Å andra sidan har vi fått tillgång till posterna för andra kolumner "Pris" och "Ålder" från denna tabell. Posterna kommer att hämtas från de rader där könen på djuren är "M" betyder endast för män. Du har resultaten av sammanhängande strängar från olika kolumner liksom andra kolumner som har visats separat.
>> VÄLJ KONCAT (Färg, ", Namn, '-', Kön) AS AnimData, Pris, Ålder FRÅN data.djur VAR Kön = 'M';
Exempel 05: Sammankoppla fler strängar med kolumnsträngar
Om du vill lägga till strängar istället för specialtecken eller mellanslag kan du göra det också. Så, låt oss ha ett enkelt exempel på att göra detta. Antag att du har en tabell "bok" och att du har nedanstående uppgifter om böcker, deras priser, författare, volymer och sidor som visas på bilden. Nu kommer vi att sammanställa strängarna från kolumnen "Namn", "Författare" och "Pris" med hjälp av denna tabell.
Vi har använt SELECT CONCAT-uttalandet för att sammanfoga strängar från de tre kolumnerna. All data i denna tabell sorteras först i stigande ordning i kolumnen "Namn". Inom parentes har vi tillhandahållit "Boken", "skrev av" och "har pris" som extra strängar istället för mellanslag eller specialtecken inom inverterade komma. Nu tar CONCAT-funktionen det första inverterade kommavärdet "Boken" tillsammans med värdet från kolumnen "Namn", sedan det andra inverterade kommavärdet "skrivet av" följt av kolumnen "Författare" strängvärde och slutligen det tredje inverterat kommavärde "har pris" följt av värdet i kolumnen "Pris". Alla dessa strängar och värden från kolumnerna kommer att kombineras och det kommer att göra en fullfjädrad mening. Denna helt nya mega-strängsats kommer att lagras i den nya kolumnen "BookDetail".
>> VÄLJ KONCAT ('Boken', Namn, 'skrev av', Författare, 'har pris', Pris) SOM BookDetail FRÅN data.bok BESTÄLL EFTER Namn ASC;
Exempel 06: Sammankoppla kolumnsträngar med CONCAT_WS
CONCAT_WS verkar vara en unik variant av CONCAT-funktionen som låter dig ange vilken symbol (eller tecken) som skulle avvisas som en avdelare angående strängkonkateringen. Det är lika enkelt som den enkla CONCAT-funktionen. Så, låt oss överväga tabellen "social" i MySQL-databasen med värden om användarna, deras mest använda sociala medieapplikationer och användarnas åldrar. Nu kommer vi att utföra sammankopplingen med CONCAT_WS-funktionen.
I frågan nedan har vi sammanfogat tre kolumner och lagrat detta sammanfogade resultat i kolumnen "Detalj". Som du kan se är det något annat eftersom vi har definierat några specialtecken "***" i de inverterade kommorna före kolumnnamnen. Detta beror på att vi vill lägga till dessa specialtecken mellan strängarna i kolumnerna och kommer en efter en med CONTACT_WS-funktionen. Från det här scenariot är det uppenbart att vi inte behöver lägga specialtecken i frågan efter varje angiven kolumn när det gäller samma typ av tecken.
>> VÄLJ CONCAT_WS ('***', användare, webbplats, ålder) SOM detalj från data.social;
Slutsats:
Du lär dig nu effektivt alla viktiga saker om sammankoppling av strängkolumner och deras värden med den enkla CONCAT-funktionen och CONCAT_WS-funktionen i MySQL Shell.