首页 > 学院 > 开发设计 > 正文

oracle使用like匹配特殊字符解决办法

2019-11-08 19:45:46
字体:
来源:转载
供稿:网友
想要匹配出所有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 '//'";以此类推,其他特殊字符也可以使用 '/' 进行转义。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表