模糊查詢(like instr)

2021-10-10 11:33:21 字數 801 閱讀 8906

sql中經常會遇到模糊查詢,現在模糊查詢正常、最常用的有兩種,一種是like、另一種是instr,這兩種單單是簡單的搜尋,instr的效率是比like要高的(這也得看%在哪兒了)。

like

like中分右模糊、左模糊,右模糊比如』abc%『時,掃瞄索引,高效。當模糊查詢含左模糊時,比如』%abc』,進行全表掃瞄,低效。當然更別提』%abc%'了。

instr

instr(欄位名, string),instr的使用也很簡單,就是填寫一下欄位名,然後與後面需要查詢的內容相關。這個比like的左模糊效率要高,但是要比右模糊還是相差不多的(因為在instr不分左右模糊)。

a>=』』 and a<』』

今天在搜尋查詢之時還找到了這麼乙個查詢方法,這個方法要比上面的instr效率還要高,不過這個方法侷限性還是比較高的。例如:

select

*from formtable_main_200_dt1 where hth >=

'16040610'

and hth <

'16040611'

這個方法只適用於字元型字段,且除了我們想要的字段外,還得加上乙個超過此型別的,並且他只支援右模糊。但是在這幾個當中就右模糊而言,他的效率是最高的。

在資料中進行字元的比較時發現自己並不是對此了解,這裡記下這裡字元的比較是比較的**。

這裡的比較是比較的ascii,但這不是比較的總的ascii,而是乙個字元乙個字元的比較,例如我這裡有資料庫的字段為』123456123』,而要比較的還有』123456223』,這裡進行比較,當到了61的1和62的2時就可以比較出大小了。

mysql模糊查詢 MYSQL模糊查詢

mysql提供標準的sql模式匹配,以及一種基於象unix實用程式如vi grep和sed的擴充套件正規表示式模式匹配的格式。一 sql模式 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你...

cad模糊查詢符號 sql模糊查詢

sql模糊查詢的語法為 select column from table where column like pattern sql提供了四種匹配模式 1.表示任意0個或多個字元。如下語句 select from user where name like 三 將會把name為 張三 三腳貓 唐三藏 ...

mysql模糊查詢索引 MySQL模糊查詢全文索引

全文索引 mysql front dump 2.5 host localhost database test server version 4.0.12 nt log table structure for table t3 create table t3 name char 12 not null...