SQL中的escape函数

# %代表任意多个字符   

select * from user where username like '%huxiao'  

select * from user where username like 'huxiao%'  

select * from user where username like '%huxiao%';   

  

# _代表一个字符   

select * from user where username like '_';  

select * from user where username like '______';    

select * from user where username like 'huxia_';    

select * from user where username like 'h_xiao';  

 

# 如果我就真的要查%或者_,怎么办呢?使用escape,转义字符后面的%或_就不作为通配符了,注意前面没有转义字符的%和_仍然起通配符作用   

select username from gg_user where username like '%xiao_%' escape '';  

select username from gg_user where username like '%xiao%%' escape '';  

 

 通常使用''来做转义字符,但是也可以使用其他的符号

 

================================================================

 

项目中可用:select * from ZD_RPTFORMULA_VAR where BB_NAME = 'BB40' and VAR_KEY like '%Z\_A%' escape '\'

 

================================================================

 

其他:

[_]  =  _

符号             含义
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 ']'                       ]

posted on 2012-08-15 14:00  chyenc  阅读(100)  评论(0)    收藏  举报

导航