V MySQL, SUBSTRING()
Funkce vám umožňuje vrátit podřetězec z řetězce. Tuto funkci tedy můžete použít k odebrání části textu z větší části textu.
Existuje několik různých způsobů, jak použít SUBSTRING()
a to ovlivňuje syntaxi.
Příklad 1 – Základní použití
Nejzákladnější použití vypadá takto:
SUBSTRING(str,pos)
V tomto případě str
je řetězec a pos
je pozice, ze které má začít podřetězec.
Zde je příklad této základní syntaxe:
SELECT SUBSTRING('Cats and dogs', 6);
Výsledek:
and dogs
V tomto příkladu vezmeme podřetězec z řetězce Cats and dogs
, začínající na pozici 6.
Příklad 2 – Použití klauzule FROM
Jiný způsob, jak to udělat:
SUBSTRING(str FROM pos)
V tomto případě FROM
je standardní SQL. Všimněte si, že tato syntaxe nepoužívá čárky.
Zde je stejný příklad jako předchozí, ale zde jsme jej změnili tak, aby používal FROM
syntaxe:
SELECT SUBSTRING('Cats and dogs' FROM 6);
Výsledek:
and dogs
Takže dostaneme stejný výsledek.
Příklad 3 – Přidejte délku podřetězce
Můžete také přidat délku:
SUBSTRING(str,pos,len)
Zde len
je délka podřetězce, který se má vrátit. To nám umožňuje vrátit podřetězec se zadanou délkou.
Zde je příklad, jak to udělat:
SELECT SUBSTRING('Cats and dogs', 6, 3);
Výsledek:
and
V tomto případě tedy zvolíme návrat pouze 3 znaků z výchozí pozice.
Příklad 4 – Použití FOR
Konečně při použití FROM
, můžete také přidat FOR
poskytnout délku.
SUBSTRING(str FROM pos FOR len)
A zde je stejný příklad jako předchozí, kromě toho, že zde používáme FROM
klauzule a také FOR
:
SELECT SUBSTRING('Cats and dogs' FROM 6 FOR 3);
Výsledek:
and
Stejně jako v předchozím příkladu se zde vyberou 3 znaky z počáteční pozice.
Příklad 5 – Počítání pozpátku
Můžete také použít zápornou hodnotu pro počáteční pozici. V tomto případě se pozice bere zpětně od konce řetězce:
SELECT SUBSTRING('Cats and dogs', -6);
Výsledek:
d dogs
Příklad 6 – Funkce SUBSTR()
Můžete také použít SUBSTR()
což je synonymum pro SUBSTRING()
. Jakýkoli z předchozích příkladů by tedy mohl být přepsán pomocí SUBSTR()
místo toho.
Příklad:
SELECT SUBSTR('Cats and dogs', 6);
Výsledek:
and dogs
Příklad 7 – Funkce MID()
A existuje ještě další synonymum pro SUBSTRING()
– MID()
funkce. Jakýkoli z předchozích příkladů by tedy mohl být přepsán pomocí MID()
místo toho.
Příklad:
SELECT MID('Cats and dogs', 6);
Výsledek:
and dogs