oracle中的模糊搜索是用%,
比如:name like 'wu%' 或者 name like concat('wu','%')
如果不进行escape,用户输入%就会当成模糊搜索的关键字,代码里面设置的右模糊也就失去了作用。真正的%却没有被搜索出来。
这个时候就需要对%进行转义:
首先是对传入的参数进行转义:
其次是在SQL里面加上转义说明:
这样,%就会当做一个真正的百分号字符,而不是模糊搜索的代名词。
比如:name like 'wu%' 或者 name like concat('wu','%')
如果不进行escape,用户输入%就会当成模糊搜索的关键字,代码里面设置的右模糊也就失去了作用。真正的%却没有被搜索出来。
这个时候就需要对%进行转义:
首先是对传入的参数进行转义:
name = name.replace("%","\\%");其次是在SQL里面加上转义说明:
name like concat(#name#,'%') escape '\'这样,%就会当做一个真正的百分号字符,而不是模糊搜索的代名词。
本文介绍Oracle数据库中如何正确使用模糊搜索功能。特别是针对用户输入的特殊字符如百分号(%),通过转义处理确保搜索结果准确无误。
8076

被折叠的 条评论
为什么被折叠?



