Při práci s databázemi MySQL se občas může stát, že budete potřebovat vybrat pouze určitý počet znaků zleva nebo zprava od řetězce. V takových případech můžete použít LEFT()
a RIGHT()
funkce, které to dělají.
Zde je syntaxe obou těchto funkcí:
LEFT(str,len) RIGHT(str,len)
Kde str
je řetězec, který obsahuje podřetězec, který musíte vrátit, a len
je počet znaků zleva, který chcete vrátit.
Příklad LEFT()
Zde je příklad, kdy vyberu prvních 5 znaků z řetězce:
SELECT LEFT('Toothbrush', 5) AS Result;
Výsledek:
+--------+ | Result | +--------+ | Tooth | +--------+
Příklad RIGHT()
Nyní vyberu posledních 5 znaků ze stejného řetězce. V tomto případě vše, co musím udělat, je změnit LEFT
na RIGHT
:
SELECT RIGHT('Toothbrush', 5) AS Result;
Výsledek:
+--------+ | Result | +--------+ | brush | +--------+
Příklad LEFT() pomocí databázového dotazu
Zde je další příklad, tentokrát s použitím databázového dotazu:
USE Music; SELECT ArtistName AS Original, LEFT(ArtistName, 3) AS Modified FROM Artists LIMIT 5;
Výsledek:
+------------------+----------+ | Original | Modified | +------------------+----------+ | Iron Maiden | Iro | | AC/DC | AC/ | | Allan Holdsworth | All | | Buddy Rich | Bud | | Devin Townsend | Dev | +------------------+----------+
V tomto příkladu získáme první 3 znaky z ArtistName
sloupec a porovnejte jej s původním řetězcem.
Příklad RIGHT() pomocí databázového dotazu
A tady je stejný příklad jako ten předchozí, ale tentokrát vybereme 3 znaky úplně vpravo:
USE Music; SELECT ArtistName AS Original, RIGHT(ArtistName, 3) AS Modified FROM Artists LIMIT 5;
Výsledek:
+------------------+----------+ | Original | Modified | +------------------+----------+ | Iron Maiden | den | | AC/DC | /DC | | Allan Holdsworth | rth | | Buddy Rich | ich | | Devin Townsend | end | +------------------+----------+