Mintaillesztés az SQL lekérdezésekben helyettesítő karakterekkel

click fraud protection

Az SQL mintaillesztés lehetővé teszi az adatok mintáinak keresését, ha nem ismeri a keresett szót vagy kifejezést. Ez a fajta SQL A lekérdezés helyettesítő karaktereket használ a minta egyezéséhez, ahelyett, hogy pontosan megadná. Például használhatja a helyettesítő karaktert a "C%" kifejezésre, hogy bármely karaktert C betűvel kezdje.

Nagyító
Kate Ter Haar / Flickr / CC 2,0-re

A LIKE operátor használata

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

A% helyettesítő karakter használata egyszerű keresés végrehajtására

Bármely alkalmazott keresésére az adatbázisában C betűvel kezdődő vezetéknévvel használja a következő Transact-SQL utasítást:

SELECT *
Az alkalmazottaktól
WHERE vezetéknév LIKE "C%"

A minták elhagyása a NOT kulcsszóval

A NOT kulcsszóval válassza ki a mintának nem megfelelő rekordokat. Például ez a lekérdezés visszaadja az összes olyan rekordot, amelynek a neve utoljára szerepel nem kezdje C-vel:

instagram viewer
SELECT *
Az alkalmazottaktól
WHERE a vezetéknév NEM TETSZIK a 'C%'

Bármelyik minta egyeztetése a% helyettesítő karakter használatával kétszer

Használja a % helyettesítő karakter, hogy bárhol megfeleljen egy adott mintának. Ez a példa visszaadja az összes olyan rekordot, amely C-t tartalmaz bárhol a vezetéknévben:

SELECT *
Az alkalmazottaktól
WHERE vezetéknév LIKE '% C%'

Mintaegyezés keresése egy adott pozícióban

Használja a _ helyettesítő karakter az adatok egy adott helyre történő visszaadásához. Ez a példa csak akkor egyezik, ha C a vezetéknév oszlop harmadik helyén található:

SELECT *
Az alkalmazottaktól
WHERE vezetéknév LIKE '_ _C%'

Támogatott helyettesítő kifejezések az Transact SQL-ben

A Transact SQL számos helyettesítő kifejezést támogat:

  • A % a helyettesítő karakter nulla vagy több, bármilyen típusú karaktert tartalmaz, és használható helyettesítő karakterek meghatározására a minta előtt és után is. Ha ismeri a DOS-minták egyeztetését, akkor az megegyezik az adott szintaxis * helyettesítő karakterével.
  • A _ a helyettesítő karakter pontosan megegyezik bármilyen típusú karakterrel. Ez egyenértékű a ? helyettesítő karakter DOS minták illesztésében.
  • Adjon meg egy karakterlistát szögletes zárójelbe zárva. Például a helyettesítő karakter [aeiou] bármilyen magánhangzóval egyezik.
  • Adjon meg egy karaktertartományt a tartomány szögletes zárójelbe zárásával. Például a helyettesítő karakter [a-m] megfelel az ábécé első felének bármelyik betűjének.
  • A karakterek egy tartományát tagadhatja meg úgy, hogy a karátos karaktert közvetlenül a nyitó szögletes zárójelbe foglalja. Például, [^ aeiou] illeszkedik a nem magánhangzók bármelyikéhez [^ a-m] illeszkedik bármely olyan karakterhez, amely nem az ábécé első felében található.

Helyettesítő karakterek kombinálása összetett mintákhoz

Kombinálja ezeket a helyettesítő karaktereket összetett mintákban, hogy fejlettebb lekérdezéseket hajtson végre. Tegyük fel például, hogy össze kell állítania az összes alkalmazott listáját, akiknek az ábécé első felének betűvel kezdődő nevei vannak, de nem magánhangzóval végződni. Használhatja a következő lekérdezést:

SELECT *
Az alkalmazottaktól
WHERE vezetéknév LIKE '[a-m]% [^ aeiou]'

Hasonlóképpen összeállíthat egy listát az összes alkalmazottról, akiknek vezetékneve pontosan négy karakterből áll, a _ minta:

SELECT *
Az alkalmazottaktól
WHERE vezetéknév LIKE '____'

Mint elmondhatja, az SQL mintamegfelelő képességeinek használata lehetőséget nyújt az adatbázis felhasználóinak arra, hogy túllépjenek az egyszerű szöveges lekérdezéseken és fejlett keresési műveleteket hajtsanak végre.

instagram story viewer