SQL怎麼實現模糊查詢

2021-10-11 11:37:07 字數 2004 閱讀 9979

模糊查詢的語句一般如下:

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