Anda memiliki dua opsi:
-
lampirkan dalam
[
dan]
. Jadi:where pattern like '[%]'
Mencari karakter persentase.Daftar lengkap karakter yang akan diloloskan -
'_', '%', '[', ']'
dengan penggantian yang sesuai'[_]', '[%]', '[[]', '[]]'
. Contoh kode dapat ditemukan di Melarikan diri dari karakter pelarian tidak berfungsi – Operator SEPERTI SQL -
gunakan karakter escape yang tidak mungkin ada dalam string, seperti backtick:
where pattern like '`%' escape '`'
(Lihat sintaks di MSDN - LIKE (Transact-SQL) .)
Dalam kedua kasus tersebut, saya menyarankan agar Anda membuat substitusi di lapisan aplikasi, tetapi Anda juga dapat melakukannya dalam SQL jika Anda benar-benar menginginkannya:
where pattern like replace(@pattern, '%', '[%]')
Dan, memberikan pengguna akhir akses ke wildcard mungkin merupakan hal yang baik dalam hal antarmuka pengguna.
Catatan:ada beberapa karakter khusus lagi '-'
dan '^'
dalam kueri LIKE, tetapi mereka tidak perlu diloloskan jika Anda sudah meloloskan diri '['
dan ']'
.