Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan apakah karakter String tertentu cocok dengan pola tertentu.
Sintaksis
match [NOT] LIKE pattern [ESCAPE escape]
Argumen
match Ekspresi SQL Entitas yang mengevaluasi ke String.
pattern Pola yang cocok dengan yang ditentukan String.
escape Karakter escape.
TIDAK Menentukan bahwa hasil LIKE dinegasikan.
Mengembalikan Nilai
true
string jika cocok dengan pola; jika tidak, false.
Komentar
Ekspresi SQL entitas yang menggunakan operator LIKE dievaluasi dengan cara yang sama seperti ekspresi yang menggunakan kesetaraan sebagai kriteria filter. Namun, ekspresi SQL Entitas yang menggunakan operator LIKE dapat mencakup karakter literal dan kartubebas.
Tabel berikut menguraikan sintaks pola string.
| Karakter KartuBebas | Deskripsi | Contoh |
|---|---|---|
| % | Salah satu string dari nol atau lebih karakter. |
title like '%computer%' menemukan semua judul dengan kata "computer" di mana saja dalam judul. |
| _ (garis bawah) | Setiap karakter tunggal. |
firstname like '_ean' menemukan keempat nama depan huruf yang diakhir dengan "ean," seperti Dean atau Sean. |
| [ ] | Setiap karakter tunggal dalam rentang yang ditentukan ([a-f]) atau set ([abcdef]). |
lastname like '[C-P]arsen' menemukan nama belakang yang diakhir dengan "arsen" dan dimulai dengan karakter tunggal antara C dan P, seperti Carsen atau Larsen. |
| [^] | Karakter tunggal apa pun yang tidak dalam rentang yang ditentukan ([^a-f]) atau set ([^abcdef]). |
lastname like 'de[^l]%' menemukan semua nama belakang yang dimulai dengan "de" dan tidak menyertakan "l" sebagai huruf berikut. |
Nota
Operator Entity SQL LIKE dan klausul ESCAPE tidak dapat diterapkan ke System.DateTime atau System.Guid nilai.
LIKE mendukung pencocokan pola ASCII dan pencocokan pola Unicode. Ketika semua parameter adalah karakter ASCII, pencocokan pola ASCII dilakukan. Jika satu atau beberapa argumen adalah Unicode, semua argumen dikonversi ke pencocokan pola Unicode dan Unicode dilakukan. Saat Anda menggunakan Unicode dengan LIKE, kosong berikutnya bersifat signifikan; namun, untuk non-Unicode, kosong berikutnya tidak signifikan. Sintaks string pola SQL Entitas sama dengan Transact-SQL.
Pola dapat mencakup karakter reguler dan karakter kartubebas. Selama pencocokan pola, karakter reguler harus sama persis dengan karakter yang ditentukan dalam karakter string. Namun, karakter kartu bebas dapat dicocokkan dengan fragmen arbitrer dari teks karakter. Ketika digunakan dengan karakter kartubebas, operator LIKE lebih fleksibel daripada operator perbandingan string = dan != .
Nota
Anda dapat menggunakan ekstensi khusus penyedia jika Anda menargetkan penyedia tertentu. Namun, konstruksi tersebut dapat diperlakukan secara berbeda oleh penyedia lain, misalnya. SqlServer mendukung pola [first-last] dan [^first-last] di mana yang sebelumnya cocok tepat satu karakter antara pertama dan terakhir, dan yang terakhir cocok persis dengan satu karakter yang bukan antara pertama dan terakhir.
Melarikan diri
Dengan menggunakan klausa ESCAPE, Anda dapat mencari string karakter yang menyertakan satu atau beberapa karakter wildcard khusus yang dijelaskan dalam tabel di bagian sebelumnya. Misalnya, asumsikan beberapa dokumen menyertakan harfiah "100%" dalam judul dan Anda ingin mencari semua dokumen tersebut. Karena karakter persen (%) adalah karakter kartubebas, Anda harus menghindarinya menggunakan klausul Escape SQL Entitas agar berhasil menjalankan pencarian. Berikut ini adalah contoh filter ini.
"title like '%100!%%' escape '!'"
Dalam ekspresi pencarian ini, karakter kartubebas persen (%) segera mengikuti karakter tanda seru (!) diperlakukan sebagai harfiah, alih-alih sebagai karakter kartubebas. Anda dapat menggunakan karakter apa pun sebagai karakter escape kecuali untuk karakter wildcard Entity SQL dan karakter kurung siku ([ ]). Dalam contoh sebelumnya, karakter tanda seru (!) adalah karakter escape.
Contoh
Dua kueri SQL Entitas berikut menggunakan operator LIKE dan ESCAPE untuk menentukan apakah string karakter tertentu cocok dengan pola tertentu. Kueri pertama mencari Name yang dimulai dengan karakter Down_. Kueri ini menggunakan opsi ESCAPE karena garis bawah (_) adalah karakter kartubebas. Tanpa menentukan opsi ESCAPE, kueri akan mencari nilai apa pun Name yang dimulai dengan kata Down diikuti oleh karakter tunggal selain karakter garis bawah. Kueri didasarkan pada Model Penjualan AdventureWorks. Untuk mengkompilasi dan menjalankan kueri ini, ikuti langkah-langkah berikut:
Ikuti prosedur dalam Cara: Menjalankan Kueri yang Mengembalikan Hasil PrimitiveType.
Teruskan kueri berikut sebagai argumen ke
ExecutePrimitiveTypeQuerymetode :
-- 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%'