Funkce MySQL INSTR().

Funkce Mysql Instr



V tomto tutoriálu se naučíme, jak pomocí funkce MySQL INSTR() určit pozici prvního výskytu daného podřetězce.

Funkce MySQL INSTR().

Pomocí funkce instr() můžeme poskytnout řetězec a podřetězec. Funkce určí, zda podřetězec existuje ve zdrojovém řetězci. Pokud podřetězec existuje, funkce vrátí pozici prvního výskytu podřetězce ve zdrojovém řetězci.

Pokud podřetězec ve zdrojovém řetězci neexistuje, funkce vrátí 0.







Následující text ukazuje syntaxi funkce instr():



INSTR(řetězec_zdroje, dílčí_řetězec);

Funkce přijímá dva hlavní parametry:



  1. Src_string odkazuje na zdrojový řetězec, ve kterém chcete hledat.
  2. Sub_string definuje podřetězec, který hledáte.

Je dobré mít na paměti, že funkce instr() nerozlišuje malá a velká písmena. Funkce tedy vyhledá pouze odpovídající vzory bez ohledu na velikost písmen,





Chcete-li provést vyhledávání rozlišující malá a velká písmena, můžete použít další nástroje, jako je binární operátor.

Příklad použití funkce

Následující příklady ukazují, jak můžeme použít funkci instr() k vyhledání konkrétního podřetězce.



SELECT INSTR('MySQL je úžasný databázový stroj', 'databáze') as pos;

Výše uvedený příklad vrátí počáteční pozici řetězce „databáze“ ze zdrojového řetězce. V tomto případě je pozice databázového řetězce 21, jak je uvedeno ve výstupu níže:

pos|

---+

21|

Příklad 2

K převodu řetězce na malá nebo velká písmena můžeme použít funkce lower() nebo upper. To nám může pomoci překonat povahu funkce rozlišující malá a velká písmena.

Příklad:

SELECT INSTR(lower('MySQL je úžasný databázový stroj'), lower('DATABASE')) as pos;

Výsledek:

pos|

---+

21|

Tím se vrátí podobná hodnota jako v prvním příkladu, protože zdrojový řetězec a podřetězec jsou před operací vyhledávání převedeny na malá písmena.

Příklad 3

Můžeme také použít funkci instr() se sloupcem tabulky, jak je znázorněno v syntaxi níže.

SELECT INSTR(název_sloupce, 'podřetězec')

FROM název_tabulky;

Příklad:

CREATE TABLE blogy (

id INT NOT NULL PRIMÁRNÍ KLÍČ AUTO_INCREMENT,

název VARCHAR(255) NOT NULL,

obsah TEXT NENÍ NULL,

date_posted DATE NOT NULL,

autor VARCHAR(255) NOT NULL

);

Vložte nějaké údaje:

INSERT INTO blogs (název, obsah, datum_uveřejnění, autor)

VALUES ('Můj první příspěvek na blogu', 'Toto je obsah mého prvního příspěvku na blogu', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (název, obsah, datum_uveřejnění, autor)

VALUES ('Můj druhý příspěvek na blogu', 'Toto je obsah mého druhého příspěvku na blogu', '2022-12-10', 'Jane Doe');

INSERT INTO blogs (název, obsah, datum_uveřejnění, autor)

VALUES ('Můj třetí příspěvek na blogu', 'Toto je obsah mého třetího příspěvku na blogu', '2022-12-11', 'Jane Doe');

vyberte * z blogů;

Výsledná tabulka:

Můžeme použít funkci instr() k získání pozice podřetězce „blog“ ve sloupci obsahu, jak je znázorněno:

vybrat název, instr(obsah, 'příspěvek') z blogů;

Výsledek:

Závěr

V tomto tutoriálu jste se naučili používat funkci INSTR() v MySQL k nalezení pozice podřetězce v řetězci. Funkce rozlišuje malá a velká písmena. Proto možná budete muset použít funkce, jako je dolní a horní, abyste převedli vyhledávací řetězce na požadované případy.