使用Mysql的函數instr,可代替傳統的like方式查詢,并且速度更快。
instr函數,第一個參數是字段,第二個參數是要查詢的串,返回串的位置,第一個是1,如果沒找到就是0.
例如:
select username from prefix_user?where 1?and?instr(truename,'劉');
釋義:查詢prefix_user表中,字段truename值中含有"劉"這個漢字的用戶的username字段值
這個語句中需要注意2點:
②Mysql 中 instr的用法
INSTR(字段名, 字符串)
(參數一)字段名:如果是表示字段名,那么不能加引號
(參數二)字符串:后面是要查詢字符串,需要加引號
?
如圖:
①where 1 and instr(字段名,'查詢字符串');
因為instr 返回的是布爾值,所以結合where 進行條件判斷,where 條件成立,返回查詢結果,否則返回空。