有時候項目中需要進行模糊查詢,但是要對查詢出來的結果進行匹配度排序,比如搜索關鍵字是“北”,需要把數據庫中第一個字是北的排在前面,此時就可以用mysql的INSTR函數。
INSTR(字段名, 字符串)
這個函數返回字符串在某一個字段的內容中的位置, 沒有找到字符串返回0,否則返回位置(從1開始)。
例1:升序排
SELECT * FROM `area_info` WHERE areaName LIKE '%縣%' ORDER BY INSTR(areaName,"縣")
例2:降序排
其它例子:
SELECT * FROM tblTopic ORDER BY INSTR( topicTitle, 'ha' ) > 0 DESC
SELECT INSTR( topicTitle, 'ha' ) FROM tblTopic