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:
- Záložka % sa zhoduje s nulovými alebo viacerými znakmi akéhokoľvek typu a môže sa použiť na definovanie zástupných znakov pred a po vzore. Ak poznáte vzájomné porovnanie vzorov DOSu, je to ekvivalent zástupného znaku v tejto syntaxe.
- Zástupná karta _ zodpovedá presne jednému znaku akéhokoľvek typu. Je to ekvivalent ? zástupný znak v prispôsobení vzoru systému DOS.
- Zadajte zoznam znakov vložením do hranatých zátvoriek. Napríklad zástupný znak [aeiou] sa zhoduje s akoukoľvek samohláskou.
- Zadajte rozsah znakov tak, že priložíte rozsah do hranatých zátvoriek. Napríklad zástupný znak [am] sa zhoduje s akýmkoľvek písmenom v prvej polovici abecedy.
- Zbavte rad znakov tým, že karátové znaky sa nachádzajú ihneď vo vnútri štvorhranného otvoru. Napríklad, [^ aeiou] sa zhoduje s akýmkoľvek znakom bez samohlásky, zatiaľ čo [^ am] sa zhoduje s ľubovoľným znakom, ktorý nie je v prvej polovici abecedy.
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.