Untuk menghindari karakter khusus dalam ekspresi LIKE, Anda mengawalinya dengan karakter escape. Anda dapat memilih karakter escape mana yang akan digunakan dengan kata kunci ESCAPE. (Referensi MSDN)
Misalnya ini lolos dari simbol %, menggunakan \ sebagai karakter pelarian:
select * from table where myfield like '%15\% off%' ESCAPE '\'
Jika Anda tidak tahu karakter apa yang akan ada di string Anda, dan Anda tidak ingin memperlakukannya sebagai karakter pengganti, Anda dapat mengawali semua karakter karakter pengganti dengan karakter pelarian, misalnya:
set @myString = replace(
replace(
replace(
replace( @myString
, '\', '\\' )
, '%', '\%' )
, '_', '\_' )
, '[', '\[' )
(Perhatikan bahwa Anda juga harus keluar dari karakter pelarian Anda, dan pastikan itu adalah replace
bagian dalam jadi Anda tidak luput dari yang ditambahkan dari replace
lainnya pernyataan). Kemudian Anda dapat menggunakan sesuatu seperti ini:
select * from table where myfield like '%' + @myString + '%' ESCAPE '\'
Juga ingat untuk mengalokasikan lebih banyak ruang untuk variabel @myString Anda karena akan menjadi lebih panjang dengan penggantian string.