Přehled zástupných znaků v SQL

Zástupný znak v SQL provádí nahrazení řetězce řetězcem od nuly k libovolnému počtu znaků. Obvykle lze tyto zástupné znaky použít s operátorem SQL LIKE. Toto je operátor, který se běžně používá v klauzuli WHERE SQL, k lovu pro konkrétní uspořádání znaků.

Zástupné znaky mají podobný cíl jako regulární výrazy. Zástupný znak je náhradní znak, který se používá k nahrazení konkrétních dalších znaků nebo znaků v tomto řetězci. Tyto zástupné znaky jsou užitečné, pokud chceme provést rychlé vyhledávání v databázi.

V SQL máme dva běžné zástupné znaky. Symbol procenta označuje nulu, jeden nebo libovolný počet znaků. Symbol podtržítka označuje jeden znak, buď písmeno nebo číslo. Tyto znaky lze kombinovat v několika uspořádáních. Máme také (charlist), (charlist) a (! Charlist), které lze použít v SQL i MS Access.

Podrobně se podíváme na tyto zástupné znaky a několik dalších užitečných zástupných znaků.

Divoká kartaPopisPříklad
Znak procenta:%Tento zástupný znak odpovídá nule nebo více znakůha% najde ha, klobouk, šťastný a stane se
Podtržítko: _Tento zástupný znak odpovídá pouze určitému jedinému znakup_t najít pot, jámu a dát
Hranaté závorky: ()Tento zástupný znak odpovídá samostatnému znaku uvedenému v závorkáchp (oi) t najít pot a jámu, ale ne dát
Stříška: ^Tento zástupný znak odpovídá znakům, které nejsou v závorce za tímto symbolemp (oi) t najde pokládané, ale ne pot a pit

Všimněme si, že MS Access používá znak hvězdičky (*) pro zástupný znak místo zástupného znaku procenta (%), aby odpovídal nule nebo více znakům, a použije zástupný znak (?) Pro zástupný znak místo znaku znak podtržítka, který představuje jeden znak.

Syntaxe SQL zástupných znaků

Podívejme se na počet způsobů, jak lze napsat zástupný znak '%' a '_':

SELECT FROM table_name
WHERE column LIKE 'AAAA%'

Nebo

SELECT FROM table_name
WHERE column LIKE '%AAAA%'

Nebo

SELECT FROM table_name
WHERE column LIKE '_AAAA'

Nebo

SELECT FROM table_name
WHERE column LIKE 'AAAA_'

Nebo

SELECT FROM table_name
WHERE column LIKE '_ AAAA _'

AAAA% nám pomáhá hledat jakékoli řetězce začínající AAAA a končící tam nebo končící jiným jediným znakem nebo více než jedním znakem.

% AAAA% nám pomáhá hledat řetězce začínající libovolným počtem znaků, ale obsahující řetězec AAAA mezi a končící libovolným počtem znaků od 0 do nekonečna.

_AAAA nám pomáhá hledat řetězce, které začínají jediným odlišným znakem a končí řetězcem AAAA.

AAAA_ nám pomáhá hledat jakékoli řetězce začínající AAAA vzorem a končící jediným odlišným znakem.

_AAAA_ nám pomáhá hledat řetězce, které začínají odlišným znakem, který obsahuje vzor AAAA mezi a končící jediným odlišným znakem.

Příklady pro každý zástupný znak v SQL

Zde je několik příkladů zástupných znaků uvedených níže

1) Práce s% zástupnou kartou

V tomto příkladu můžeme vybrat všechny zaměstnance města počínaje „the“:

SELECT * FROM Employees
WHERE City LIKE 'the%';

2) Práce s _ zástupnou kartou

V tomto příkladu můžeme vybrat všechny zaměstnance města počínaje jediným odlišným znakem, ale končícím „elhi“:

SELECT * FROM Employees
WHERE City LIKE '_elhi';

Podívejme se na další příklad, ve kterém můžeme vybrat Zaměstnanci města, jejichž jméno začíná písmenem „B“, za kterým následuje jeden zřetelný znak, za kterým následuje písmeno „r“, za ním následuje jediný zřetelný znak a za ním „in“:

SELECT * FROM Employees
WHERE City LIKE 'B_r_in';

3) Kombinace% a _ zástupných znaků

Můžeme kombinovat oba zástupné znaky, abychom optimalizovali náš vyhledávací proces.

V tomto příkladu můžeme najít jakýkoli řetězec, který má na druhé pozici znak „a“.

WHERE StringName LIKE '_a%'

V tomto příkladu můžeme najít libovolný řetězec začínající na 'x' a mít délku minimálně tří znaků.

WHERE StringName LIKE 'x_%_%'

V tomto příkladu můžeme najít libovolný řetězec začínající na 'x' a končící na 'y', přičemž mezi nimi musí být alespoň jeden znak.

WHERE StringName LIKE 'x%_y'

4) Práce s () zástupnou kartou

V tomto příkladu můžeme vybrat všechny zaměstnance města, jehož jméno začíná buď „a“, „b“ nebo „c“.

SELECT * FROM Employees
WHERE City LIKE '(abc)%';

Stejný příklad můžeme napsat jiným způsobem pomocí symbolu pomlčky (-). Toto prohlášení také vybere všechny zaměstnance města, jehož jméno začíná buď „a“, „b“ nebo „c“. Lze to napsat takto:

>SELECT * FROM Employees
WHERE City LIKE '(ac)%';

5) Práce s (!) Zástupnou kartou

V tomto příkladu můžeme vybrat všechny zaměstnance města, jejichž jméno NEZačíná buď „a“, „b“ nebo „c“.

SELECT * FROM Employees
WHERE City LIKE '(!abc)%';

Toto prohlášení lze napsat také následovně:

SELECT * FROM Employees
WHERE City NOT LIKE '(abc)%';

Závěr

V tomto článku SQL Wildcard jsme se podívali na všechny zástupné znaky v SQL. Dále jsme se podívali na různé příklady znaků SQL zástupných znaků, abychom získali větší porozumění a jasnost.

Závěrem lze říci, že zástupné znaky dělají podobné práce jako regulární výrazy. Můžeme kombinovat více zástupných znaků do samostatného řetězce, abychom získali lepší výsledky vyhledávání a výsledky. Může existovat několik databází, jako je MS Access, které by pro podobnou funkci mohly použít samostatný zástupný znak SQL.

Doporučené články

Toto je průvodce Wildcard v SQL. Zde diskutujeme Syntaxi SQL zástupných znaků s příklady pro každý zástupný znak. Další informace naleznete také v následujícím článku -

  1. Zobrazení SQL
  2. Nástroje pro správu SQL
  3. Co je MySQL?
  4. Úvod do MySQL