Zhoda vzoru v SQL dotazoch

Použitie zástupných znakov pre neprípustné zhody

Súlad so vzorom SQL umožňuje vyhľadávať vzory v údajoch, ak nepoznáte presné slovo alebo frázu, ktorú hľadáte. Tento typ dotazu SQL používa znaky zástupných znakov, ktoré zodpovedajú vzoru, namiesto presného špecifikovania. Napríklad môžete použiť zástupný znak "C%" tak, aby zodpovedal ľubovoľnému reťazcu začínajúcemu kapitálom C.

Používanie operátora LIKE

Ak chcete použiť výraz zástupného zástupcu v dopyte SQL, použite operátor LIKE v klauzule WHERE a prilepte vzor do jednoduchých úvodzoviek.

Použitie karty% Wildcard na vykonanie jednoduchého vyhľadávania

Ak chcete vyhľadať akéhokoľvek zamestnanca vo vašej databáze s priezviskom začínajúcim písmenom C, použite nasledujúci príkaz Transact-SQL:

SELECT * FROM zamestnancov WHERE last_name LIKE 'C%'

Vynechanie vzorov pomocou kľúčového slova NOT

Použite kľúčové slovo NOT na výber záznamov, ktoré nezodpovedajú vzoru. Tento dopyt napríklad vráti všetky záznamy, ktorých posledné meno nezačína C:

SELECT * FROM zamestnancov KDE NAME last_name NIE JE LIKE 'C%'

Zhoda vzoru kdekoľvek pomocou% Wildcard dvakrát

Použite dve inštancie % zástupnej karty tak, aby zodpovedali určitému vzoru kdekoľvek. Tento príklad vráti všetky záznamy, ktoré obsahujú C kdekoľvek v priezvisku:

SELECT * FROM zamestnancov WHERE last_name LIKE '% C%'

Vyhľadanie vzoru zápasov na konkrétnej pozícii

Na vrátenie údajov na konkrétnom mieste použite zástupný znak _ . Tento príklad sa zhoduje len vtedy, ak sa C vyskytuje na tretej pozícii stĺpca posledného mena:

SELECT * FROM zamestnancov WHERE last_name LIKE '_ _C%'

Podporované zástupné výrazy v nástroji Transact SQL

Existuje niekoľko výrazov zástupných znakov, ktoré podporuje Transact SQL:

Kombinácia zástupných znakov pre komplexné vzory

Kombinujte tieto zástupné znaky v zložitých vzorkách, aby ste mohli vykonávať pokročilejšie dopyty. Predpokladajme napríklad, že musíte vytvoriť zoznam všetkých vašich zamestnancov, ktorí majú mená, ktoré začínajú písmenom z prvej polovice abecedy, ale neskončia samohláskou. Môžete použiť nasledujúci dotaz:

SELECT * FROM zamestnanci WHERE last_name LIKE '[am]% [^ aeiou]'

Podobne môžete vytvoriť zoznam všetkých zamestnancov s poslednými menami pozostávajúcich z presne štyroch znakov pomocou štyroch inštancií vzoru _ :

SELECT * FROM zamestnancov WHERE last_name LIKE '____'

Ako môžete povedať, použitie schopností prispôsobovania vzorov SQL ponúka používateľom databázy možnosť prejsť nad rámec jednoduchých textových otázok a vykonávať pokročilé vyhľadávacie operácie.