- Może wystąpić jeden lub nawet więcej argumentów.
- Łączy argumenty i zwraca wynikowy ciąg.
- Gdy wszystkie wartości są niebinarnymi ciągami, zwróć niebinarny ciąg.
- Daje ciąg binarny, jeśli w argumentach użyto dowolnych ciągów binarnych.
- Jeśli jest liczbowy, jest również tłumaczony na jego niebinarną formę podobną do łańcucha.
- Jeśli każdy argument ma wartość NULL, ta funkcja zwraca NULL.
Otwórz powłokę klienta wiersza poleceń MySQL z aplikacji i dodaj swoje hasło, gdy o to poprosisz.
Przykład 01: Połącz dwie kolumny za pomocą CONCAT
W bazie danych 'data' mamy tabelę 'nauczyciel'. Chcemy skojarzyć jego ciągi z dwóch kolumn „TeachName” i „lastname” bez spacji między nimi.
Wykonaj polecenie SELECT CONCAT z nazwami kolumn w nawiasach oddzielonych przecinkiem. Nowa kolumna „Nazwa” jest generowana do przechowywania połączonych w niej wartości ciągów, a wynik jest pokazany poniżej.
>> WYBIERZ KONCAT(NazwiskoNazwisko, Nazwisko) JAKO Imię Z danych F.nauczyciel;
Przykład 02: Łączenie dwóch kolumn ze spacją
Załóżmy, że mamy poniższą tabelę „student” w bazie danych „data” i chcemy połączyć jej ciągi z dwóch kolumn „Nazwa” i „Temat” ze spacją między wartościami.
Użyj poniższego polecenia SELECT CONCAT, podając nazwy kolumn w nawiasach, aby połączyć wartości ciągu oddzielone spacją. Połączone wartości zostaną zapisane w nowej kolumnie „Szczegóły ucznia.” Otrzymana kolumna zawiera teraz wszystkie połączone ciągi znaków.
>> SELECT CONCAT(Nazwa,", Temat) AS StudentDetail FROM data.student;
Przykład 03: Łączenie wielu kolumn ze znakami specjalnymi
Załóżmy, że poniższa tabela „nauczyciel” łączy wartości ciągów z więcej niż dwóch kolumn z różnymi znakami specjalnymi.
Wypróbuj poniższe polecenie, dodając znak „-” zamiast spacji. Wynikowy zestaw zawiera połączoną kolumnę ciągów z kolumn tabeli z użytymi w niej znakami specjalnymi.
>> SELECT CONCAT(NazwaNauczania, '-', temat, '-', kwalifikacja) AS Szczegóły Z danych.nauczyciel;
Przykład 04: Konkatenacja podczas pobierania dodatkowych kolumn
Jeśli chcesz połączyć ciągi kolumn podczas pobierania innych kolumn w tym samym zapytaniu, jesteś we właściwym miejscu. Rozważ tabelę „zwierzęta” w bazie danych „dane” poniżej.
Łączyliśmy jego trzy kolumny; „Kolor”, „Imię” i „Płeć”, używając spacji i znaków specjalnych pomiędzy in. Połączony ciąg z tych kolumn zostanie zapisany w nowej kolumnie „AnimData”. Z drugiej strony uzyskujemy dostęp do rekordów innych kolumn „Cena” i „Wiek” z tej tabeli. Rekordy zostaną pobrane z rzędów, w których płeć zwierząt to „M” oznacza tylko samce. Masz wyniki połączonych ciągów z różnych kolumn, a także z innych kolumn, które były wyświetlane osobno.
>> WYBIERZ KONCAT(Kolor;;Nazwa;'-';Płeć) AS AnimData, Cena, Wiek Z danych.zwierzęta GDZIE Płeć = „M”;
Przykład 05: Połącz więcej ciągów z ciągami kolumn
Jeśli chcesz dodać ciągi znaków zamiast znaków specjalnych lub spacji, możesz to również zrobić. Miejmy więc prosty przykład, jak to zrobić. Załóżmy, że masz tabelę „książka” i masz poniższe dane dotyczące książek, ich cen, autorów, tomów i stron, jak pokazano na obrazku. Teraz będziemy łączyć ciągi z kolumny „Nazwa”, „Autor” i „Cena” za pomocą tej tabeli.
Używamy instrukcji SELECT CONCAT do łączenia ciągów z trzech kolumn. Wszystkie dane w tej tabeli są najpierw sortowane w porządku rosnącym w kolumnie „Nazwa”. W nawiasach jako dodatkowe ciągi zamiast spacji lub znaków specjalnych w cudzysłowie umieściliśmy „książka”, „napisane przez” i „ma cenę”. Teraz funkcja CONCAT przyjmie pierwszą wartość odwróconego przecinka „Książka” wraz z wartością z kolumny „Nazwa”, następnie drugą wartość odwróconego przecinka „wpisane przez”, a następnie wartość ciągu w kolumnie „Autor”, a na końcu trzecią wartość cudzysłowu „ma cenę”, a następnie wartość kolumny „Cena”. Wszystkie te ciągi i wartości z kolumn zostaną połączone i da to pełne zdanie. Całkowicie nowe zdanie w postaci megaciągu zostanie zapisane w nowej kolumnie „BookDetail”.
>> SELECT CONCAT('Książka ', Imię, ' napisane przez ', Autor, ' ma cenę ', Cena) AS BookDetail FROM data.książka ZAMÓW WEDŁUG Nazwa ASC;
Przykład 06: Łączenie ciągów kolumn przy użyciu CONCAT_WS
CONCAT_WS wydaje się być unikalnym wariantem funkcji CONCAT, która pozwala określić, który symbol (lub znaki) zostanie odrzucony jako dzielnik dotyczący konkatenacji łańcucha. To tak proste, jak prosta funkcja CONCAT. Rozważmy więc tabelę „społecznościowe” w bazie danych MySQL zawierającą wartości dotyczące użytkowników, najczęściej używanych aplikacji społecznościowych i wieku użytkowników. Teraz wykonamy konkatenację za pomocą funkcji CONCAT_WS.
W poniższym zapytaniu połączyliśmy trzy kolumny i zapisaliśmy ten połączony wynik w kolumnie „Szczegóły”. Jak widać, jest coś innego, ponieważ zdefiniowaliśmy kilka znaków specjalnych „***” w cudzysłowie przed nazwami kolumn. Dzieje się tak, ponieważ chcemy dodać te znaki specjalne między ciągami kolumn, występując jeden po drugim za pomocą funkcji CONTACT_WS. Tak więc z tego scenariusza jasno wynika, że nie musimy umieszczać w zapytaniu znaków specjalnych po każdej określonej kolumnie, jeśli chodzi o ten sam typ znaku.
>> SELECT CONCAT_WS('***', Użytkownik, Witryna, Wiek) AS Detail FROM data.społeczny;
Wniosek:
Teraz skutecznie uczysz się wszystkich istotnych rzeczy dotyczących łączenia kolumn ciągów i ich wartości za pomocą prostej funkcji CONCAT i funkcji CONCAT_WS w powłoce MySQL.