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 ']' .