mysql模糊查询支持特殊字符

使用mysql模糊查询时,如果输入特殊字符,比如%,_会导致查询条件匹配所有记录,因为mysql的模糊查询要使用like关键字,而%和_分别时通配符,%表示任意个任意字符,_表示任意一个字符,如果要查询的字符包含%或_,会导致查询条件无效。

这个问题,首先要将%和_符号进行转义,这样就与mysql的%和_通配符不冲突,

在特殊字符前加 / ,特殊字符分别转义成/_、/\、/%

举例:

如果要模糊查询name包含%的,需要使用的sql语句:

select * from test where name like concat('%', '/%', '%') escape '/';

同理,模糊查询address包含_的记录:

 

posted @ 2021-11-12 15:56  wang_longan  阅读(1316)  评论(0编辑  收藏  举报