ESCAPE关键字

以下的文章主要介绍的是Oracle escape的转义符,以及Oracle escape关键字实际相关用法以及相关的定义,我们大家都知道Oracle escape关键字是经常用被用于使某些特殊字符,如通配符:

'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。

实例:

 

  1. SQL> select * from t11 where name like '%_%';  
  2. NAME  
  3. ----------  
  4. aa_a  
  5. aaa  
  6. SQL> select * from t11 where name like '%\_%' escape '\';  
  7. NAME  
  8. ----------  
  9. aa_a  

 

注意:正反斜扛'/'不需要转义.

      '需要用'转义,select t.*,rownum,rowid from CUSTOMER t  where t.name like '%g''%'

为什么'要进行转义?举个例子,有这样一条SQLselect t.*,rownum,rowid from CUSTOMER t  where t.password ='XXX',像这样的SQL语句存在被攻击的可能,例如在页面上输入密码:1'or '1'='1,那么后台拼接成的SQL可能是这样的select t.*,rownum,rowid from CUSTOMER t  where t.password ='1'or '1'='1';,那么这条语句肯定是可以查的出结果的。

猜你喜欢

转载自ghsea.iteye.com/blog/1873670