`

oracle中如何escape特殊字符

阅读更多
oracle中的模糊搜索是用%,
比如:name like 'wu%' 或者 name like concat('wu','%')

如果不进行escape,用户输入%就会当成模糊搜索的关键字,代码里面设置的右模糊也就失去了作用。真正的%却没有被搜索出来。

这个时候就需要对%进行转义:
首先是对传入的参数进行转义:
name = name.replace("%","\\%");

其次是在SQL里面加上转义说明:
name like concat(#name#,'%') escape '\'


这样,%就会当做一个真正的百分号字符,而不是模糊搜索的代名词。
分享到:
评论

相关推荐

    ORACLE字符串函数

    11. 字符串 SQL 正则表达式匹配函数:`substring(string from pattern for escape)` 该函数用于根据 SQL 正则表达式截取字符串中的子串。例如,`substring('Thomas' from '%#"o_a#"_' for '#')`将返回`'omat'`。 ...

    Oracle 11g OCP 051

    在Oracle数据库中,ESCAPE子句可以用来定义转义字符,这样就可以在LIKE模式中搜索包含特殊字符的字符串。这表明了在SQL编程中,字符匹配和转义的技巧,这对于编写复杂查询语句非常重要。 根据提供的内容,我们详细...

    oracle常用问题解答

    **解答**: 在Oracle中查询包含特殊字符如通配符%与_的数据时,需要使用转义字符来避免这些字符被解释为通配符。通常使用的转义字符是反斜杠(\)或双写该字符。 - **示例**: 如果要查找包含百分号(%)的名字,可以使用...

    正则表达式在oracle中的应用

    它允许开发者通过一系列特殊的字符序列来定义复杂的搜索模式,这些模式可以用于查找和替换文本中的指定内容。例如,简单的正则表达式可以是一个具体的字符串(如`'TomSmith'`),也可以是一组复杂规则的组合。 **表...

    oracle学习必备资料

    在Oracle的学习过程中,SQL(结构化查询语言)和PL/SQL(Oracle的编程语言扩展)是基础,而了解如何处理特殊字符、事务控制、游标操作、异常处理以及数值转换等技巧则是进阶内容。 1. **处理特殊字符**:在查询时,...

    MaBatis中的分页插件以及特殊字符处理

    2. 使用`escape`属性:在动态SQL标签`<if>`、`<choose>`等中,可以通过`escape`属性来处理特殊字符。例如: ```xml != null and username != ''"> AND username LIKE #{username} ESCAPE '\' ``` 这里`\`是...

    oracle 讲义

    - 转义字符用于特殊字符处理,如`\%`用于在`like`中匹配百分号。 - `escape`关键字定义自定义转义字符,如`escape '$'`。 以上是Oracle数据库的基础知识,包括客户端工具使用、用户管理、数据查询、数据过滤、...

    马士兵oracle笔记

    12. **转义字符**:在`like`操作中,`%`和`_`是特殊字符,若要匹配它们本身,需要使用转义字符,如`ename like '%$%%' escape '$'`和`ename like '%/%%'`。 13. **排序**:`order by`子句用于对结果集进行排序,`...

    oracle11g ocp考试051详细解析

    考试内容中也包括对SQL查询技术的掌握,例如使用LIKE和ESCAPE关键字来查询包含特殊字符的字符串。在给出的例子中,查询需要匹配字符串'_D123',其中ESCAPE关键字用于指定转义字符,使得下划线_可以作为字面量字符...

    oracle导入txt数据的脚本

    - 如果数据包含特殊字符,如制表符或换行符,可能需要预处理数据或在控制文件中使用ESCAPE选项。 通过以上知识点,你可以编写一个适合你的需求的SQL*Loader控制文件,然后使用Oracle的SQL*Loader工具将TXT文件中的...

    oracle_cj.doc

    Oracle数据库系统是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。本文将深入探讨Oracle数据库的一些核心概念和技术,包括SQL查询、数据库对象创建、事务处理、索引和视图,以及一些实用...

    oracle简单笔记

    对于特殊字符的匹配,需使用`ESCAPE`子句,例如`SELECT COUNT(*) FROM user_tables WHERE table_name LIKE 'S_\%' ESCAPE '\';`用于查找名字以`S_`开头的表。 `IS NULL`和`IS NOT NULL`用于判断字段是否为`NULL`。...

    最全的ORACLE-SQL笔记

    `DUAL是Oracle中的一个特殊表,用于执行简单的单行单列计算。 5. **查看当前日期**:`select sysdate from dual;`返回系统当前日期和时间。 6. **字段别名**:`select ename, sal*12 annual_sal from emp;`使用AS...

    oracle sql项目开发中常见问题总结

    当需要查询包含特殊字符(如%或_)的数据时,可以使用`LIKE`关键字配合`ESCAPE`来指定特殊字符不作为通配符。例如: ```sql SELECT * FROM Mtl_System_Items_B WHERE DESCRIPTION LIKE 'Cr\_%' ESCAPE '\' ``` ...

    oracle经典sql案例

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

    维护项目oracle常用语句

    在Oracle中,特殊字符如`%`和`_`通常用于模糊匹配。如果要查询包含这些特殊字符的数据,需要使用转义字符`\`。例如,查询以"A\%"开头的记录,应写为`select * from table where name like 'A\%' escape '\';`。 2....

    oracle自学资料

    - 特殊符号转义:使用`escape`关键字,如:`select * from emp where ename like '%*_%' escape '*'` 通过以上内容的学习与实践,可以对Oracle数据库的基础知识有一个较为全面的了解,并能够进行基本的管理和操作...

    CI访问oracle 10g的问题

    Oracle 10g的SQL语法不使用双引号作为转义字符,因此将原来的双引号`""`改为单引号`''`,这样可以确保CI的查询语句与Oracle兼容。 此外,还需要注意以下几点: 1. **字符集**:配置中的`char_set`和`dbcollat`分别...

Global site tag (gtag.js) - Google Analytics