- Může se vyskytnout jeden nebo i více argumentů.
- Zřetězí argumenty a vrátí výsledný řetězec.
- Když jsou všechny hodnoty nebinární řetězce, získá se nebinární řetězec.
- Získá binární řetězec, pokud jsou v argumentech použity binární řetězce.
- Pokud je číselný, je také přeložen do jeho ne-binární podoby podobné řetězci.
- Pokud má každý argument hodnotu NULL, vrátí tato funkce hodnotu NULL.
Otevřete prostředí klienta příkazového řádku MySQL z aplikací a na požádání přidejte své heslo.
Příklad 01: Zřetězení dvou sloupců pomocí CONCAT
Máme tabulku „učitel“ v databázi „data“. Chceme spojit jeho řetězce ze dvou sloupců „TeachName“ a „lastname“ bez mezery mezi nimi.
Spusťte příkaz SELECT CONCAT s názvy sloupců v závorkách oddělenými čárkou. Nový sloupec „Název“ je vygenerován tak, aby do něj byly uloženy zřetězené hodnoty řetězce, a výsledek je uveden níže.
>> SELECT CONCAT (TeachName, lastname) AS Name FROM data.učitel;
Příklad 02: Zřetězení dvou sloupců s mezerou
Předpokládejme, že máme níže uvedenou tabulku „student“ v databázi „data“ a chceme spojit její řetězce ze dvou sloupců „Název“ a „Předmět“ s mezerou mezi hodnotami.
Pomocí níže uvedeného příkazu SELECT CONCAT zadejte názvy sloupců v závorkách a zkombinujte hodnoty řetězců oddělené mezerou. Zřetězené hodnoty budou uloženy v novém sloupci „StudentDetail.„Výsledný sloupec má nyní všechny zřetězené řetězce.
>> VYBERTE KONCAT (Název, ", Předmět) JAKO StudentDetail Z údajů.student;
Příklad 03: Zřetězit více sloupců se speciálními znaky
Předpokládejme, že níže uvedená tabulka „učitel“ spojí řetězcové hodnoty z více než dvou sloupců s jiným speciálním znakem.
Vyzkoušejte následující příkaz a místo mezery přidejte znaménko „-“. Výsledná sada obsahuje zřetězený sloupec řetězců ze sloupců tabulky se speciálními znaky použitými v něm.
>> VÝBĚR KONCATU (TeachName, '-', předmět, '-', kvalifikace) AS Detail FROM data.učitel;
Příklad 04: Zřetězení při načítání dalších sloupců
Pokud chcete zřetězit řetězce sloupců při načítání dalších sloupců ve stejném dotazu, jste na správném místě. Zvažte tabulku „zvířata“ v databázi „data“ níže.
Zřetězujeme jeho tři sloupce; „Barva“, „Název“ a „Pohlaví“ při použití mezery a speciálních znaků. Zřetězený řetězec z těchto sloupců bude uložen do nového sloupce „AnimData“. Na druhou stranu jsme z této tabulky přistupovali k záznamům dalších sloupců „Cena“ a „Věk“. Záznamy budou načteny z řádků, kde je pohlaví zvířat „M“ znamená pouze pro muže. Máte výsledky zřetězených řetězců z různých sloupců i jiných sloupců, které byly zobrazeny samostatně.
>> SELECT CONCAT (Color, ", Name, '-', Gender) AS AnimData, Price, Age FROM data.zvířata KDE Pohlaví = „M“;
Příklad 05: Zřetězit více řetězců pomocí řetězců sloupců
Pokud chcete místo zvláštních znaků nebo mezer přidat řetězce, můžete to udělat také. Pojďme si tedy udělat jednoduchý příklad. Předpokládejme, že máte tabulkovou „knihu“ a máte níže uvedená data týkající se knih, jejich cen, autorů, objemů a stránek, jak je znázorněno na obrázku. Nyní pomocí této tabulky zřetězíme řetězce ze sloupce „Název“, „Autor“ a „Cena“.
Pomocí příkazu SELECT CONCAT jsme zřetězili řetězce ze tří sloupců. Všechna data této tabulky jsou nejprve tříděna ve vzestupném pořadí ve sloupci „Název“. V závorkách jsme místo mezer nebo zvláštních znaků v obrácených čárkách uvedli „knihu“, „napsal“ a „má cenu“ jako extra řetězce. Funkce CONCAT nyní vezme první hodnotu převrácené čárky „Kniha“ spolu s hodnotou ze sloupce „Název“, poté druhá hodnota převrácené čárky „napsaná“ následovaná hodnotou řetězce ve sloupci „Autor“ a nakonec třetí hodnota obrácené čárky „má cenu“ následovanou hodnotou ve sloupci „Cena“. Všechny tyto řetězce a hodnoty ze sloupců budou kombinovány a vytvoří plně věnovou větu. Celá tato nová megařetězcová věta bude uložena v novém sloupci „BookDetail“.
>> VYBERTE KONCAT ('Kniha', Jméno, 'napsal', Autor, 'Má cenu', Cena) JAKO BookDetail Z údajů.kniha OBJEDNAT PODLE Název ASC;
Příklad 06: Zřetězit řetězce sloupců pomocí CONCAT_WS
CONCAT_WS se zdá být jedinečnou variantou funkce CONCAT, která vám umožňuje určit, který symbol (nebo znaky) by byl použit jako dělič týkající se zřetězení řetězců. Je to stejně jednoduché jako jednoduchá funkce CONCAT. Uvažujme tedy o tabulce „sociální“ v databázi MySQL, která obsahuje hodnoty o uživatelích, jejich nejpoužívanějších aplikacích sociálních médií a věku uživatelů. Nyní provedeme zřetězení pomocí funkce CONCAT_WS.
V dotazu níže jsme zřetězili tři sloupce a tento zřetězený výsledek jsme uložili do sloupce „Detail“. Jak můžete vidět, je tu něco jiného, protože jsme před obrácenými čárkami před názvy sloupců definovali speciální znaky „***“. Je to proto, že chceme přidat tyto speciální znaky mezi řetězce sloupců, přicházející jeden za druhým pomocí funkce CONTACT_WS. Z tohoto scénáře je tedy jasné, že nemusíme do dotazu vkládat speciální znaky po každém zadaném sloupci, pokud jde o stejný typ znaků.
>> VÝBĚR CONCAT_WS ('***', uživatel, web, věk) JAKO detail z dat.sociální;
Závěr:
Nyní jste efektivně erudovaní ve všech podstatných věcech o zřetězení řetězcových sloupců a jejich hodnot pomocí jednoduché funkce CONCAT a funkce CONCAT_WS v MySQL Shell.