SQL LIKE operátor s příklady wildcards

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 LIKE operátoru

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:

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%';

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%';

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]%';

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ů.

5/5 - (3 votes)
Rubrika: SQL operátory

O Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako data engineer freelancer. Během cca 10 let jsem zde shromáždil přes 600 IT case studies, průvodců, návodů a tipů určených zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Data Engineeringu, korporátních financí a reportingu. Zaměřuji se především na Microsoft technologie (on-prem i cloud) a různé synergické efekty v rámci jejich produktového portfolia pro dataře a finanční profesionály. Věnuji se také dalším platformám a významným hráčům z oblasti open source technologií. 🔥 Pokud vám tento článek pomohl, ocením referenci na vašem webu nebo zmínku v komunitě. A mám pro vás ještě tip: řešíte-li nějaký zapeklitý Excel problém, přihlašte se do naší Excel Facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse ».

Leave a Reply

Your email address will not be published. Required fields are marked *