Práce s databázemi je neustále spojována s přijímáním výsledků dotazu. V některých případech musí být tato informace na obrazovce zobrazena určitým způsobem nebo v kombinaci s jinými daty. K vyřešení tohoto problému existuje funkce SQL-CONCAT.
Co dělá společnost CONCAT?
Při provádění některých prací v databázi je třeba řetězce propojit s dalšími údaji nebo mezi nimi. K vyřešení tohoto problému existuje funkce SQL-CONCAT. Při jeho použití budou dva nebo více řádků sloučeny do jednoho. Tato zřetězení řádky jsou správně prováděny jako při práci s řetězci a s numerickými proměnnými.
V některých databázích má CONCAT několik odrůd. Ano, v MySQL má svůj vlastní analog - CONCAT_WS. Rozdíl mezi funkcemi irelevantních: v případě, že první, ve spojení s argumentem, jehož hodnota je NULL, výsledkem zřetězení je NULL, a pomocí druhé možnosti kombinování nulový operand je jednoduše vynechat.
Syntaxe
Při použití concat, syntaxe SQL vyžaduje programátor s argumenty v pořadí, v jakém jsou operandy, které mají být spojeny. Sam syntax zřetězení provoz je velmi jednoduchá: po klíčové slovo CONCAT čárka v závorkách vyjadřují potřebné řádku argumenty nebo pořadí, a po uzavření, pokud je to nutné, je uvedeno slovo as a název proměnné, která bude zaznamenávat výsledek. Šablona funkce CONCAT vypadá takto:
CONCAT (string1line2 [, řádek 3,]) [název proměnné AS]. Stojí za zmínku, že argumenty funkce lze použít jako operand číselných a řetězových hodnot a některé funkce vracejí výsledek. Například operace SQL CONCAT samotná. Operace tedy podporuje princip hnízdění.
Jak to udělat bez použití CONCATu?
V případě, že je potřeba bez operace, nebo programátor není známo funkce CONCAT, SQL nabízí další možnost pro zřetězení řetězců. Chcete-li to provést, použijte operátor "+", ale tento přístup má řadu funkcí, které je třeba vzít v úvahu při práci s ním.
Při použití funkce "+" v případě, že operandy jsou číselné hodnoty, bude výsledkem operace obvyklé přidání čísel a pokud je to nutné, spojte číslo s čárou bez explicitní konverze, program vydá chybu. Takže při provádění dalšího dotazu bude výsledkem hodnota čísla "6": SELECT 1 + 2 + 3. V druhé jsou obě metody identické a vrátí stejný výsledek.