mysql 模糊查询下划线不生效 ,对下划线需要做转义
1)正确的处理方式:
SELECT * FROM your_table WHERE your_column LIKE '%\_%' ESCAPE '\\';
或者:
SELECT * FROM your_table WHERE your_column LIKE '%\_%';
2)正确的处理方式:
- java的api中的入参先判断是否包含有下划线:
String data="test_add";
if(data.contains("_")){
data=data.replace("_","\\_");
}
- dao层的sql写法:
SELECT * FROM your_table WHERE your_column LIKE contact('%',#{data},'%')