Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Meghatározza, hogy egy adott karakter String megfelel-e egy adott mintának.
Szemantika
match [NOT] LIKE pattern [ESCAPE escape]
Érvek
match Entitás SQL-kifejezés, amely egy String.
pattern A megadotthoz Stringilleszkedő minta.
escape Egy menekülő karakter.
NEM Azt adja meg, hogy a LIKE eredménye negated legyen.
Visszaadott érték
trueha a string minta megegyezik; ellenkező esetben. false
Megjegyzések
A LIKE operátort használó entitás SQL-kifejezések kiértékelése ugyanúgy történik, mint a szűrőfeltételek egyenlőségét használó kifejezések. A LIKE operátort használó entitás SQL-kifejezések azonban literális és helyettesítő karaktereket is tartalmazhatnak.
Az alábbi táblázat a minta stringszintaxisát ismerteti.
| Helyettesítő karakter | Leírás | példa |
|---|---|---|
| % | Bármelyik string nulla vagy több karakterből állhat. |
title like '%computer%' megkeresi az összes címet, ahol a szó "computer" szerepel a címben. |
| _ (aláhúzás) | Bármely karakter. |
firstname like '_ean' megkeresi az összes négybetűs utónevet, amely "" végződésű "ean, például Dean vagy Sean. |
| [ ] | A megadott tartomány bármely karaktere ([a-f]) vagy beállítása ([abcdef]). |
lastname like '[C-P]arsen' megkeresi az "arsen" végződésű vezetékneveket, és a C és P közötti bármely karakterrel kezdődik, például Carsen vagy Larsen. |
| [^] | Bármely olyan karakter, amely nincs a megadott tartományban ([^a-f]) vagy beállítva ([^abcdef]). |
lastname like 'de[^l]%' megkeresi a "de" betűvel kezdődő és az "l" betűt nem tartalmazó vezetékneveket. |
Megjegyzés:
Az Entity SQL LIKE operátor és AZ ESCAPE záradék nem alkalmazható az értékekre vagy System.Guid értékekreSystem.DateTime.
A LIKE támogatja az ASCII-minták és a Unicode-minták egyeztetését. Ha minden paraméter ASCII-karakter, az ASCII-mintaegyezést hajtja végre. Ha egy vagy több argumentum Unicode, a rendszer minden argumentumot Unicode-ra konvertál, és Unicode-mintaegyezést hajt végre. Ha Unicode-ot használ a LIKE-val, a záró üresek jelentősek; a Nem Unicode esetén azonban a záró üresek nem jelentősek. Az Entity SQL mintasztringszintaxisa megegyezik a Transact-SQL-ével.
A minta tartalmazhat normál karaktereket és helyettesítő karaktereket. A mintaegyezés során a normál karaktereknek pontosan meg kell egyeznie a karakterben stringmegadott karakterekkel. A helyettesítő karakterek azonban megfeleltethetők a karaktersztring tetszőleges töredékeinek. Ha helyettesítő karaktereket használ, a LIKE operátor rugalmasabb, mint a = és a != sztring-összehasonlító operátor.
Megjegyzés:
Ha egy adott szolgáltatót céloz meg, szolgáltatóspecifikus bővítményeket is használhat. Az ilyen szerkezeteket azonban más szolgáltatók is másképp kezelhetik, például. Az SqlServer támogatja az [first-last] és a [^first-last] mintákat, ahol az előbbi pontosan egy karaktert egyezik az első és az utolsó között, az utóbbi pedig pontosan egy karaktert, amely nem az első és az utolsó között van.
Menekülés
Az ESCAPE záradék használatával olyan karaktersztringeket kereshet, amelyek az előző szakaszban a táblázatban leírt egy vagy több speciális helyettesítő karaktert tartalmaznak. Tegyük fel például, hogy több dokumentum is tartalmazza a cím "100%" literálját, és az összes dokumentumot meg szeretné keresni. Mivel a százalék (%) karakter helyettesítő karakter, a keresés sikeres végrehajtásához az Entity SQL ESCAPE záradékkal kell kikerülnie. Az alábbi példa erre a szűrőre mutat be példát.
"title like '%100!%%' escape '!'"
Ebben a keresőkifejezésben a felkiáltójel (!) karaktert közvetlenül követő százalékos helyettesítő karakter (%) nem helyettesítő karakterként, hanem konstansként lesz kezelve. Az Entity SQL helyettesítő karakterei és a szögletes zárójelek ([ ]) kivételével bármely karakter használható escape karakterként. Az előző példában a felkiáltójel (!) karakter a feloldó karakter.
példa
Az alábbi két Entity SQL-lekérdezés a LIKE és AZ ESCAPE operátorokkal határozza meg, hogy egy adott karaktersztring megfelel-e egy adott mintának. Az első lekérdezés a Name karakterekkel kezdődő lekérdezést Down_keresi. Ez a lekérdezés az ESCAPE lehetőséget használja, mert az aláhúzásjel (_) helyettesítő karakter. Az ESCAPE beállítás megadása nélkül a lekérdezés megkeresi azokat Name az értékeket, amelyek a szóval Down kezdődnek, és az aláhúzásjelen kívül egyetlen karaktert is követnek. A lekérdezések az AdventureWorks értékesítési modellen alapulnak. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:
Kövesse a How to: Execute a Query that Returns PrimitiveType Results (Primitívtípus-eredményeket visszaadó lekérdezés végrehajtása) című témakör lépéseit.
Adja át a következő lekérdezést argumentumként a
ExecutePrimitiveTypeQuerymetódusnak:
-- LIKE and ESCAPE
-- If an AdventureWorksEntities.Products contained a Name
-- with the value 'Down_Tube', the following query would find that
-- value.
Select value P.Name FROM AdventureWorksEntities.Products AS P
WHERE P.Name LIKE 'DownA_%' ESCAPE 'A'
-- LIKE
Select value P.Name FROM AdventureWorksEntities.Products AS P
WHERE P.Name LIKE 'BB%'