`
ghsea
  • 浏览: 111840 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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';,那么这条语句肯定是可以查的出结果的。

分享到:
评论

相关推荐

    sql server数据库模糊查询语句

    3. ESCAPE 关键字:ESCAPE 关键字用于定义转义符,以便在搜索字符串时将通配符作为普通字符使用。 下面是一些使用 LIKE 关键字和通配符的示例: * WHERE title LIKE '%computer%':查找书名中包含单词 computer 的...

    浅谈MySQL模糊查询中通配符的转义

    sql中经常用like进行模糊查询,而模糊查询就要用到百分号“%”,下划线“_”这些通配符,...2、这种是通过escape关键字进行转义,将特定符号后的字符进行转义,这里斜杠后面的%就不再是通配符,斜杠之前的%仍然起通配

    OCP11G-1Z0-051

    在提供的材料中,讨论了如何使用ESCAPE关键字来正确处理包含下划线(_)的字符串模式匹配,这是因为在LIKE模式匹配中,下划线是一个特殊字符,代表任何单个字符。 6. SQL命令与数据库操作 文件内容涉及了多个方面的...

    SQLLIKE用法.docx

    在 LIKE 操作符中,可以使用 ESCAPE 关键字定义转义符,以便在字符串中搜索通配符而不是将其作为通配符使用。例如: SELECT * FROM finances WHERE description LIKE '%5/%%' ESCAPE '/' 这条语句将查询包含字符串...

    SQL语言中使用的通配符

    若要搜索作为字符而不是通配符的百分号,必须提供ESCAPE关键字和转义符。例如,一个样本数据库包含名为comment的列,该列含文本30%。若要搜索在comment列中的任何位置包含字符串30%的任何行,请指定由Where comment ...

    浅谈Transact—SQL语句中LIKE的高级应用.pdf

    当需要搜索的数据本身包含通配符(%、_、[、^),可以使用ESCAPE关键字定义一个转义符,将通配符转义为普通字符。例如: - LIKE '20%\%' ESCAPE '\' 用于搜索包含“%”的字符串。 - LIKE '中_国' ESCAPE '_' 用于...

    mysql模糊查询.pdf

    2. **ESCAPE 关键字**:如果你的查询字符串中包含 `%` 或 `_`,可以使用 `ESCAPE` 关键字来转义它们,避免被解释为通配符。例如,`LIKE '%\%' ESCAPE '\'` 会匹配包含百分号的字符串。 3. **INSTR 函数**:MySQL ...

    oracle11g ocp考试051详细解析

    在给出的例子中,查询需要匹配字符串'_D123',其中ESCAPE关键字用于指定转义字符,使得下划线_可以作为字面量字符出现在LIKE子句的模式中。 对于Oracle 11g数据库,SQL编程不仅仅局限于SELECT、INSERT、UPDATE、...

    Oracle数据库Sql语句详解大全.pdf

    在使用LIKE进行模式匹配时,如果通配符本身出现在模式中,需要使用ESCAPE关键字来转义该字符。例如,查询以`s_`开头的表名: ```sql SELECT table_name FROM user_tables WHERE table_name LIKE 'S\_%' ESCAPE '\';...

    单元三:限定所选择的数据行LIKE运算符完美版资料.pptx

    5. **使用ESCAPE关键字处理特殊字符**: 有时,我们可能需要在模式中使用`%`或`_`作为普通字符而非通配符。这时,我们可以使用`ESCAPE`关键字来指定这些字符的转义字符。例如,如果`%`本身是你想要匹配的字符,你...

    Transact-SQL 学习笔记

    8. **ESCAPE关键字**:在`like`语句中,使用`escape`关键字可以定义特殊字符,如`select * from cd_inf where cd_no like 'C#_D_HK' escape '#'`可以正确匹配以"C_D"开头,"HK"结尾的号码。 9. **ORDER BY子句**:...

    SQL使用Like模糊查询

    为了解决这个问题,可以使用`ESCAPE`关键字定义一个转义字符。例如,如果你的模式中需要包含实际的百分号,可以这样写: ```sql SELECT name FROM customers WHERE name LIKE '10%OFF' ESCAPE '\'; ``` 在这里,`\`...

    sql中as的用法和一些经典的sql语句.doc

    这里使用LIKE语句来模糊查询,并使用ESCAPE关键字来指定转义字符。 七、NOT EXISTS语句 NOT EXISTS语句用于查询记录的存在性。例如,以下语句查询table1中id列不存在于table2中的记录: ```sql SELECT table1.id ...

    OCP认证 051题库

    - B选项正确地使用了通配符和ESCAPE关键字,能够匹配含有'_D123'的字符串。 - C选项同样错误地使用了通配符作为转义字符。 - D选项使用了非法的转义字符组合。 **正确答案**:B **知识点四:单行函数的理解** -...

    SQL server2005 中通配符

    这时可以使用`ESCAPE`关键字定义一个转义字符,例如`WHERE column LIKE 'a%b' ESCAPE '\ '`将匹配"a%b",其中"\ "是转义字符,防止"%b"被解释为通配符。 通过熟练掌握这些通配符及其用法,你可以更有效地在SQL ...

    数据库的查询条件查询PPT教案.pptx

    如果想要匹配以特定字符串开头或结尾的值,可以结合使用ESCAPE关键字来指定转义字符,避免通配符在字符串中的误匹配。 在WHERE子句中,多个判定运算可以通过AND、OR、XOR和NOT这些逻辑运算符组合,构建出更复杂的...

    oracle经典sql案例

    - escape关键字的使用,用于定义转义字符,以便正确匹配特殊字符。 5. 更新语句: - UPDATE语句的使用,用于修改数据表中的记录。 6. 空值和排序: - IS NULL和IS NOT NULL在WHERE子句中的使用,用于查询空值或...

    oracle模拟试卷解读.docx

    由于'_'在LIKE语句中是特殊字符,表示任意一个字符,如果要匹配实际的'_',需要使用ESCAPE关键字来转义。因此,正确答案是A:`SELECT employee_id, last_name, job_id FROM employees WHERE job_id LIKE '%SA\_%' ...

    URI:Escape模块,awstats搜索的关键字的乱码问题解决

    之所以搜索的关键字句会变成乱码的原因,主要是因为现在的搜索引擎都是使用UTF8,而Awstats是使用decodeUTFkeys这个plugin来处理搜索引擎的UTF8关键字,默认是没有打开的,所以在显示上会出现乱码。 要解决中文...

Global site tag (gtag.js) - Google Analytics