声明:本空间的内容不全部是原创,如有雷同只为学习与借鉴之方便,别无它意,来者是朋友,愿通过此平台结交天下测试达狼!

SQL中escape的主要用途

上一篇 / 下一篇  2010-08-26 08:58:07 / 个人分类:其它

SQL中escape的主要用途

mysql2007-10-12 10:35:56阅读18评论0  字号: 订阅

qw7va/BK0
SQL中escape的主要用途

1.使用   ESCAPE   关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串   5%   的字符串,请使用:    51Testing软件测试网B_;lV4V;L,u8z.RC
  WHERE   ColumnA   LIKE   '%5/%%'   ESCAPE   '/'  
6c-\/S7M+`t)Eu1@W02.ESCAPE   'escape_character'    
5M%kn({!W |aIY0  允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character   是放在通配符前表示此特殊用途的字符。  51Testing软件测试网xU5`&HN
   51Testing软件测试网#WD U"x+@S T6@
  SELECT   *  51Testing软件测试网3Ba:L t$c!z O
  FROM   finances  51Testing软件测试网u3v5F}#mu6v,i/J
  WHERE   description   LIKE   'gs_'   ESCAPE   'S'  
:W^ r*?\ h1i"o0  GO  
gx)i$C#ms5n0   51Testing软件测试网1U4g.^ E~?x
  意思就是:  
m)c},wP0  比如,我们要搜索一个字符串     "g_"     ,如果直接     like     "g_",那么   "_"的作用就是通配符,而不是字符,结果,我们会查到比如     "ga","gb","gc",而不是我们需要的   "g_".  51Testing软件测试网i9r\ O(w d,Z&E
  用     LIKE   'gs_'   ESCAPE   'S'     's'表示特殊用法标志  
!Lw1M"M)f0
3.create   table   a   (name   varchar(10))  
a`5r}a0  go  51Testing软件测试网#U,yi+o^4m){.V"o} Mn
  insert   into   a   select   '11%22'  
SV2JM0sS0  union   all   select   '11%33'  
f%B!_*aGUk0  union   all   select   '12%33'  
7s K QuJ C"XHK0  go  51Testing软件测试网(|@ {|S#GG3_
  select   *   from   a     WHERE   name   LIKE   '%/%33'   ESCAPE   '/'   --指定用'/'符号来说明跟在其后面的通配符字符为普能字符。(第二个%是字符不是通配符来的)  51Testing软件测试网 ML6|S5V3v2Z
  go  
c+t[kV*Rxap{`0  drop   table   a51Testing软件测试网B\Nf1Wn&n!Pk
结果为:  
{ qf8{&T%TJ t0  name                
]X1iHz(e0  ----------    
R\$dgZ0  11%33  51Testing软件测试网XLvI(a0dF
  12%33  

aTD]:a.G-e0

g!{"y6J B(x0

TAG:

 

评分:0

我来说两句

Open Toolbar