以下的文章主要介绍的是Oracle escape的转义符,以及Oracle escape关键字实际相关用法以及相关的定义,我们大家都知道Oracle escape关键字是经常用被用于使某些特殊字符,如通配符:
'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。
实例:
- SQL> select * from t11 where name like '%_%';
- NAME
- ----------
- aa_a
- aaa
- SQL> select * from t11 where name like '%\_%' escape '\';
- NAME
- ----------
- 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';,那么这条语句肯定是可以查的出结果的。