一、如何搜索通配符字符
方法一:使用 ESCAPE 关键字定义转义符。
在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。
例如,要搜索在任意位置包含字符串 msg% 的字符串,请使用:
select * from test where msg like '%msg/%%' ESCAPE '/'
上述 like 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %。
方法二:在方括号 ([ ]) 中只包含通配符本身。
要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符:
select * from test where msg like '3[-]6'
下表显示了括在方括号内的通配符的用法。
符号 含义
like '5[%]' 5%
like '5%' 5 后跟 0 个或更多字符的字符串
like '[_]n' _n
like '_n' an, in, on (and so on)
like '[a-cdf]' a, b, c, d, or f
like '[-acdf]' -, a, c, d, or f
like '[ [ ]' [
like ']' ]
二、例子一:
在表PersonalMember中查找strloginname字段中含有"["的记录。
可用三条语句:
1、
select strloginname,* from PersonalMember where strloginname like '%/[%' escape '/'
2、(说明"/"与"/"均可与escape关键字结合作为转义符)
select strloginname,* from PersonalMember where strloginname like '%/[%' escape '/'
3、
select strloginname,* from dbo.PersonalMember where charindex('[',strloginname)>0