Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Belirli bir karakterin String belirtilen desenle eşleşip eşleşmediğini belirler.
Sözdizimi
match [NOT] LIKE pattern [ESCAPE escape]
Tartışmalar
match bir olarak değerlendirilen bir StringEntity SQL ifadesi.
pattern Belirtilen Stringile eşleşecek bir desen.
escape Bir kaçış karakteri.
DEĞİl LIKE sonucunun olumsuzlandığını belirtir.
Dönüş Değeri
true desenle string eşleşiyorsa; eşleşmiyorsa, false.
Açıklamalar
LIKE işlecini kullanan varlık SQL ifadeleri, filtre ölçütü olarak eşitlik kullanan ifadelerle çok aynı şekilde değerlendirilir. Ancak LIKE işlecini kullanan Varlık SQL ifadeleri hem değişmez değerleri hem de joker karakterleri içerebilir.
Aşağıdaki tabloda, desenin stringsöz dizimi açıklanmaktadır.
| Joker Karakter | Açıklama | Örnek |
|---|---|---|
| % | Sıfır veya daha fazla karakterden herhangi biri string . |
title like '%computer%' başlığın herhangi bir yerinde sözcüğü "computer" olan tüm başlıkları bulur. |
| _ (alt çizgi) | Herhangi bir tek karakter. |
firstname like '_ean' Dean veya Sean gibi , ile "eanbiten tüm dört harfli adları bulur. |
| [ ] | Belirtilen aralıktaki ([a-f]) veya kümedeki ([abcdef]) herhangi bir tek karakter. |
lastname like '[C-P]arsen' , "arsen" ile biten ve C ile P arasında carsen veya Larsen gibi tek bir karakterle başlayan soyadlarını bulur. |
| [^] | Belirtilen aralıkta ([^a-f]) veya ([^abcdef]) olmayan tek bir karakter. |
lastname like 'de[^l]%' "de" ile başlayan ve aşağıdaki harf olarak "l" içermeyen tüm soyadlarını bulur. |
Uyarı
Entity SQL LIKE işleci ve ESCAPE yan tümcesi veya System.Guid değerlerine System.DateTime uygulanamaz.
LIKE, ASCII desen eşleştirmeyi ve Unicode desen eşleştirmeyi destekler. Tüm parametreler ASCII karakter olduğunda, ASCII desen eşleştirmesi gerçekleştirilir. Bağımsız değişkenlerden biri veya daha fazlası Unicode ise, tüm bağımsız değişkenler Unicode'a dönüştürülür ve Unicode desen eşleştirmesi gerçekleştirilir. LIKE ile Unicode kullandığınızda, sondaki boşluklar önemlidir; ancak Unicode olmayanlar için sondaki boşluklar önemli değildir. Entity SQL'in desen dizesi söz dizimi Transact-SQL ile aynıdır.
Desen normal karakterler ve joker karakterler içerebilir. Desen eşleştirme sırasında, normal karakterlerin karakterinde stringbelirtilen karakterlerle tam olarak eşleşmesi gerekir. Ancak joker karakterler, karakter dizesinin rastgele parçalarıyla eşleştirilebilir. Joker karakterlerle kullanıldığında LIKE işleci = ve != dize karşılaştırma işleçlerinden daha esnektir.
Uyarı
Belirli bir sağlayıcıyı hedeflerseniz sağlayıcıya özgü uzantıları kullanabilirsiniz. Ancak bu tür yapılar, örneğin diğer sağlayıcılar tarafından farklı şekilde ele alınabilir. SqlServer, [first-last] ve [^first-last] desenlerini destekler; burada ilk ve son arasında tam olarak bir karakter eşleşir ve ikincisi ilk ve son arasında olmayan bir karakterle tam olarak eşleşir.
Kaçmak
ESCAPE yan tümcesini kullanarak, önceki bölümdeki tabloda açıklanan özel joker karakterlerden birini veya daha fazlasını içeren karakter dizelerini arayabilirsiniz. Örneğin, birkaç belgenin başlıkta "100%" değişmez değerini içerdiğini ve bu belgelerin tümünü aramak istediğinizi varsayalım. Yüzde (%) karakteri joker karakter olduğundan, aramayı başarıyla yürütmek için Entity SQL ESCAPE yan tümcesini kullanarak bu karakterden kaçmalısınız. Aşağıda bu filtrenin bir örneği verilmiştir.
"title like '%100!%%' escape '!'"
Bu arama ifadesinde, ünlem işareti karakterinin (!) hemen ardından gelen yüzde joker karakteri (%) joker karakter yerine değişmez değer olarak kabul edilir. Entity SQL joker karakterleri ve köşeli ayraç ([ ]) karakterleri dışında herhangi bir karakteri kaçış karakteri olarak kullanabilirsiniz. Önceki örnekte ünlem işareti (!) karakteri kaçış karakteridir.
Örnek
Aşağıdaki iki Varlık SQL sorgusu, belirli bir karakter dizesinin belirtilen desenle eşleşip eşleşmediğini belirlemek için LIKE ve ESCAPE işleçlerini kullanır. İlk sorgu, karakterleriyle Down_başlayan öğesini ararName. Alt çizgi (_) joker karakter olduğundan bu sorgu ESCAPE seçeneğini kullanır. ESCAPE seçeneğini belirtmeden sorgu, sözcüğün Down ardından alt çizgi karakteri dışında tek bir karakterle başlayan tüm değerleri ararName. Sorgular AdventureWorks Satış Modeli'ni temel alır. Bu sorguyu derlemek ve çalıştırmak için şu adımları izleyin:
Nasıl yapılır: PrimitiveType Sonuçları Döndüren Bir Sorgu Yürütme bölümündeki yordamı izleyin.
Aşağıdaki sorguyu yöntemine
ExecutePrimitiveTypeQuerybağımsız değişken olarak geçirin:
-- 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%'