数据库模糊搜索时,关键字中有%号,怎么办?

本文转载:http://www.cnblogs.com/lmfeng/archive/2013/02/26/2932963.html

 

  数据库模糊搜索时,关键字中有%号,怎么办?

  数据库模糊搜索时,都知道应该用通配符%号来模糊匹配。如:select *from table where content like '%key%'。但当关键字key中也包含有%号时,应该怎么办?

  数据库中有关键字:escape就是用来转换的。使用escape关键字定义转义符时,当转义符置于通配符之前时,该通配符就解释为普通字符。用 法:ESCAPE 'escape_character' 其允许在字符串中搜索通配符而不将其作为通配符使用。'escape_character'通常用'/'或'\'做为转义符,其它如‘!'等也可以做为转 义符。

示例:

  select *from table where content like '%/%%' escape '/'

  /为转义字符,第二个%为普通字符,第一、三个%为通配符。

  select *from table where content like '%/%//%' escape '/'

  /为转义字符,第二个%为普通字符,第一、三个%为通配符,第二个/为转义字符,第三个/为普通字符。

posted @ 2013-04-01 11:00  跟着阿笨一起玩.NET  阅读(527)  评论(0编辑  收藏  举报