有時候專案中需要進行模糊查詢,但是要對查詢出來的結果進行匹配度排序,比如搜尋關鍵字是「北」,需要把資料庫中第乙個字是北的排在前面,此時就可以用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
多欄位模糊匹配關鍵字查詢
我們開發資料庫應用時,常常需要用到模糊查詢。如果同乙個條件需要匹配很多字段怎麼辦呢?通常,程式設計師會每個欄位都在sql中 field like cond 一次。這樣,sql語句會長得驚人,碰上覆雜一點的,甚至sql語句會因為超長而被資料庫拒絕執行。其實,這個問題只要動動腦筋就很容易解決 首先,將要...
SQL「多欄位模糊匹配關鍵字查詢」
我們開發mysql 資料庫應用時,常常需要用到模糊查詢。如果同乙個條件需要匹配很多字段怎麼辦呢?通常,程式設計師會每個欄位都在sql中 field like cond 一次。這樣,sql語句會長得驚人,碰上覆雜一點的,甚至sql語句會因為超長而被資料庫拒絕執行。其實,這個問題只要動動腦筋就很容易解決...
ZT SQL實現多欄位模糊匹配關鍵字查詢
我們開發資料庫應用時,常常需要用到模糊查詢。如果同乙個條件需要匹配很多字段怎麼辦呢?通常,程式設計師會每個欄位都在sql中 field like cond 一次。這樣,sql語句會長得驚人,碰上覆雜一點的,甚至sql語句會因為超長而被資料庫拒絕執行。其實,這個問題只要動動腦 筋就很容易解決 首先,將...