oracle使用like匹配特殊字符解决办法
2017-02-16 00:39
169 查看
想要匹配出所有MC带有 "_" 的数据,
select * from lm where mc like '%_%' ;
这是一种错误的写法,因为 oracle会默认把 '_' 作为一个可以匹配任意一个字符的通配符。
正确写法:
select * from lm where mc like '%\_%'escape '\';语法:like '%\_%' escape'\', 其中第一个 '\' 代表转义紧跟后一位的特殊字符(多个特殊字符需要写多个'\'进行转义), escape关键字 代表查询时过滤掉 '\' 这个字符。也就是说先用 '\'转义特殊字符,查询的时候再用 escape 关键字过滤掉 '\'。由于 '\'在程序中也是特殊字符,所以也需要进行转义。
String sql = "select * from lm where mc like '%\\_%' escape '\\'";
以此类推,其他特殊字符也可以使用 '\' 进行转义。
相关文章推荐
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
- 关于ORACLE中使用LIKE进行多字段模糊匹配的一种解决思路
- 24. PowerShell -- 使用特殊文本命令(-contains字符串比较,-like 匹配字符)
- 关于执行Oracle下Sql语句中遇到的特殊字符问题解决办法。
- 使用SQL查询分析器查询显示最大只有256个字符的解决办法
- oracle 中使用shutdown 后长时间没反应的解决办法
- 使用ociuldr_linux导入导出oracle中的表--工作中打印表的最好解决办法
- 【MFC BUG】error C3872: 此字符不允许在标识符中使用错误的解决办法
- oracle & 和 ' 特殊字符处理 ( like 'GAC/&_%' escape '&'; 这里面的 / 居然将& 转义了 为什么?)
- win7 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法
- Oracle 插入时间时 报错:ORA-01861: 文字与格式字符串不匹配 的解决办法
- Oracle中like查询下划线等特殊字符的处理
- 在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法
- linux 环境oracle sqlplus下使用退格backspace回删出现^H的解决办法
- 试图使用未在此报表服务器中注册的数据扩展插件“ORACLE”。 解决办法
- Mysql中通过Like匹配中文不准确的解决办法
- oracle 列别名 使用 双引号 特殊字符 区分 大小写 连接 运算符 字符串 || 双竖线
- oracle中文字符??乱码的解决办法