SQL LIKE operátor s příklady – umíte použít wildcards?

Poslední aktualizace:

Tento operátor umožňuje vyhledat řetězec textu na základě určitého paternu. Nejčastěji ho využijete v klauzuli WHERE, ale dá se aplikovat v libovolné části SQL dotazu, např. SELECT, UPDATE nebo DELETE. T-SQL LIKE má následující syntaxi:

Syntaxe:

SELECT <Sloupec 1>
FROM dbo.Tabulka
WHERE <Sloupec> LIKE <patern>;

Operátor se dá použít i k aplikaci negativně vymezené podmínky, použili bychom tedy NOT LIKE, ale princip je stejný.

Zástupné znaky – Wildcards používané v LIKE operátoru

Operátor umožňuje aplikaci několika wildcards, které nám umožňují vytvářet textové paterny:

1 Procento (wildcard %) – Jakýkoliv text včetně prázného textu, syntaxe při hledání paternu který začíná písmenem “D” by byla následující:

SELECT <Sloupec 1>
FROM dbo.Tabulka
WHERE <Sloupec 1> LIKE 'D%';

2 Podtržítko (wildcard _) – Wildcard nahrazuje 1 znak, můžeme takto zastoupit libovolný počet znaků (použít podtržítko vícekrát za sebou a samozřejmě zkombinovat s “%”. Příkladem chceme všechny hodnoty, které mají jako třetí písmeno X a každý z předcházejících 2 znaků a následujících n znaků může být libovolný:

SELECT <Sloupec 1>
FROM dbo.Tabulka
WHERE <Sloupec 1> LIKE '__D%';

3 Seznam znaků [wildcard <list>] – Jako zástupný znak se dá použít i seznam, pokud bychom použili příklad z předchozího kroku s tím rozdílem, že chceme aby 3. znak byl “D” nebo “E”, vypadalo by to takto:

SELECT <Sloupec 1>
FROM dbo.Tabulka
WHERE <Sloupec1> LIKE '__[DE]%';

4 Rozsah znaků [wildcard <char>-<char>] – Wildcard typu rozsah oddělujeme pomlčkou a je použitelný jak pro číselné tak pro textové znaky. Níže syntaxe scriptu pokud chceme aby první znak byl číslo, čtvrtý znak “D” a následující znaky byly libovolné:

SELECT <Sloupec 1>
FROM dbo.Tabulka
WHERE <Sloupec1> LIKE '[0-9]__[D]%';

Shrnutí: V tomto tutoriálu je popsáno, jak pomocí operátoru LIKE najít v sql řetězec textu, který odpovídá nějakému paternu neboli vzoru. Vzory hledáme pomocí WILDCARDS zástupných znaků.

SQL LIKE operátor s příklady – umíte použít wildcards?
5 (100%) 2 vote[s]

Honza Zedníček

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích společnosti Kentico, s.r.o v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval v několika bankách na pozicích finanční controller a manažer. Po práci se měním na vášnivého hráče tenisu, šachu a ochutnávače dobrých rumů. Mým velké štěstím, koníčkem a někdy stresorem se před 3 lety stal syn Kubíček. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Přidejte si mě na LinkedIn nebo se subscribněte na RSS kanál

Rubrika: SQL operátory

About Honza Zedníček

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích společnosti Kentico, s.r.o v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval v několika bankách na pozicích finanční controller a manažer. Po práci se měním na vášnivého hráče tenisu, šachu a ochutnávače dobrých rumů. Mým velké štěstím, koníčkem a někdy stresorem se před 3 lety stal syn Kubíček. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Přidejte si mě na LinkedIn nebo se subscribněte na RSS kanál

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..