Mintázat-egyezés az SQL lekérdezésekben

A helyettesítő karakterek használata pontatlan egyezésre

Az SQL-minta-illesztés lehetővé teszi az adatok megkeresését, ha nem tudja pontosan a keresett szót vagy kifejezést. Ez a fajta SQL lekérdezés a helyettesítő karaktereket használja, hogy pontosan illeszkedjen a mintához, és nem pontosan megadja. Például használhatja a "C%" helyettesítő karaktert, hogy megfeleljen a tőke C-vel kezdődő karakterláncoknak.

A LIKE operátor használatával

Ha egy SQL-lekérdezésben helyettesítő kifejezést szeretne használni, használja a LIKE operátort egy WHERE záradékban, és csatolja a minta egy idézőjelbe.

A% Wildcard használata az Egyszerű keresés végrehajtásához

Az adatbázisban lévő bármely alkalmazottnak a C betűvel kezdődő vezetéknévvel történő kereséséhez használja a következő Transact-SQL utasítást:

SELECT * FROM alkalmazottak WHERE last_name LIKE 'C%'

A NEM kulcsszó használatával a minták elhagyása

Használja a NEM kulcsszót olyan rekordok kiválasztásához, amelyek nem felelnek meg a mintának. Például ez a lekérdezés visszaadja azokat a rekordokat, amelyeknek neve utoljára nem kezdődik C:

SELECT * FROM alkalmazottak WHERE last_name NEM "C%"

A minta bármelyikének megfeleltetése a% Wildcard kétszer

Használja a % wildcard két példányát, hogy megfeleljen egy adott mintának bárhol. Ez a példa minden olyan rekordot visszaad, amely C-t tartalmaz bárhol a vezetéknévben:

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

Egy mintaképezés egy adott pozícióban

Az _ helyettesítő kártyával visszaadhatja az adatokat egy adott helyen. Ez a példa csak akkor felel meg, ha a C a harmadik névleges oszlop harmadik helyén jelenik meg:

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

Támogatott helyettesítő kifejezések a Transact SQL rendszerben

A Transact SQL által támogatott több helyettesítő kifejezés létezik:

Kombinált karakterkészletek kombinált mintákhoz

Kombinálja ezeket a karakterkészleteket összetett mintákban, hogy fejlettebb lekérdezéseket hajtson végre. Tegyük fel például, hogy össze kell állítania egy listát minden alkalmazottjától, akik olyan nevekkel rendelkeznek, amelyek az ábéc első feléből levélben kezdődnek, de nem zárulnak magánhangzóval. A következő lekérdezést használhatja:

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

Hasonlóképpen létrehozhat egy listát az összes olyan munkatársról, akiknek a vezetéknevek négy karakterből állnak, pontosan négy karakterből állnak:

SELECT * FROM alkalmazottak WHERE last_name LIKE '____'

Ahogyan tudod, az SQL minta-illesztési képességek használata az adatbázis-felhasználók számára lehetővé teszi az egyszerű szöveges lekérdezések túllépését és a fejlett keresési műveletek végrehajtását.