模糊查詢的語句一般如下:
select 字段 from 表 where 某欄位 like 條件;
關於條件部分,有以下匹配模式:
1.%
:表示零個或多個字元。
可以匹配任意型別和任意長度的字元,有些情況下若是中文,請使用兩個百分號(%%
)表示。
select
*from
user
where username like
'%張%'
;
將會把user
這張表裡面,列名username
中含有張
的記錄全部查詢出來。
如果需要找到user
這張表裡面,字段username
中既有張
,又有李
的記錄,可以使用and
條件:
select
*from
user
where username like
'%張%'
and username like
'%李%'
;
可以查詢出來所有包含張
和李
的所有內容,張
和李
所在的前後位置無所謂。
select
*from
user
where username like
'%李%張%'
;
查出來包含李張
的內容,但是查不出來張李
的內容。
2._
:表示任意單個字元
匹配單個任意字元,它常用來限制表示式的字元長度。
select
*from
user
where username like
'_小_'
;
只能找到張小明
這樣username
為三個字且中間乙個字是小
的內容。
select
*from
user
where username like
'小__'
;
只能找到小壞蛋
這樣username為三個字且第乙個字是小
的內容。
3.:表示括號內所列字元中的乙個(類似正規表示式)。
指定乙個字元、字串或範圍,要求所匹配的物件為他們中的任乙個。
如內有一系列字元
(01234,abcde之類的)
則可略寫為0-4
,a-e
select
*from
user
where username like
'老[0-9]'
;
將找出「老1」、「老2」、……、「老9」
;
4.[^]
:表示不在括號所列之內的單個字元。
其取值和相同,但它所要求匹配物件為指定字元以外的任乙個字元。
select
*from
user
where username like
'[^李王秦]飛'
;
將找出不是「李飛」 "王飛」「秦飛「
,而是"張飛"
等。 sql模糊查詢實現組合查詢
資料庫程式設計中經常遇到組合查詢的情況。例如,某公司資料庫裡有一張存放使用者資訊的表user info,它有多個字段 userid,id,name,age,address。其中userid是表的主碼,表示使用者的使用者號,該使用者號對每個使用者都是唯一的 id表示使用者省份證號。此時要對使用者資訊進...
SQL語句實現模糊查詢
我們可以在where子句中使用like來達到模糊查詢的效果 在where子句中,可以對datetime char varchar欄位型別的列用like子句配合萬用字元選取那些 很像.的資料記錄,以下是可使用的萬用字元 零或者多個字元 單一任何字元 下劃線 特殊字元 在某一範圍內的字元,如 0 9 或...
sql語句實現模糊查詢
在進行資料庫查詢時,有完整查詢和模糊查詢之分。一般模糊查詢語句如下 select 字段 from 表 where 某欄位 like 條件 其中關於條件,sql提供了四種匹配模式 1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select f...