mysql模糊查詢

2021-07-14 04:02:11 字數 1183 閱讀 6752

關於模糊查詢主要有以下幾種方法

1.select * from 表名 where 列名 like '%元%';

%:表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。

如果需要找出既含有'元'又含有'一'的資料,那麼可以這麼去寫

select * from 表名 where 列名 like '%元% and 列名 like '%一% ';

這個查詢語句可以查詢出還有元一這個順序的資料, 但是查不出來'一元'這個順序的資料

2._: 表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:

比如 select * from 表名 where 列名 like '_元_';

這樣會找出中間乙個字是「元」的三個字;

3.[ ]:表示括號內所列字元中的乙個(類似正規表示式)。指定乙個字元、字串或範圍,要求所匹配物件為它們中的任乙個。

比如: select * from 表名 where 列名 like '[張李王]三';將找出「張三」、「李三」、「王三」(而不是「張李王三」);

如 [ ] 內有一系列字元(01234、abcde之類的)則可略寫為「0-4」、「a-e」; 記住需要連續;

select * from 表名 where 列名 like '大[1-9]'; 將會查詢出大1,大2 ....

4.[^ ] :表示不在括號所列之內的單個字元。其取值和 相同,但它要求所匹配物件為指定字元以外的任乙個字元。

select * from 表名 where 列名 like '[^張李王]三'; 查詢出的資料就不包含"張三,李三,王三"

5,查詢內容包含萬用字元時

由於萬用字元的緣故,導致我們查詢特殊字元「%」、「_」、「[」的語句無法正常實現,而把特殊字元用「[ ]」括起便可正常查詢。據此我們寫出以下函式:

function sqlencode(str) str=replace(str,"';","';';")

str=replace(str,"[","[") ';此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function 

mysql模糊查詢 MYSQL模糊查詢

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

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...

mysql 正反模糊查詢 mysql模糊查詢

mysql 使用內建函式進行模糊查詢 locate,position,instr,find in set 1 locate substr str,pos 方法 2 position substr in field 方法 3 instr str substr 方法 4 find in set str1...