模糊查詢中Like的使用

2021-09-24 11:58:56 字數 1473 閱讀 4986

萬用字元:

%:表示任意個或多個字元。可匹配任意型別和長度的字元

_:表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:(可以代表乙個中文字元)

demo:

//username中以「曉」字結尾的名字

select * from user where username like '%曉';   

//username中以「曉」字開頭的名字

select * from user where username like '曉%'; 

//username中包含「曉」字的名字

select * from user where username like '%曉%';

//username中既包含「曉」又包含「如」的名字

select * from user where username like '%曉%' and username like '%如%' 

注意:%位置代表的任意個字元

如果有字數限制,我們可以用"_","_"代表的是單個字元

//username中以「曉」字結尾並且是兩個字的名字

select * from user where username like '_曉';   

//username中以「曉」字開頭並且是兩個字的名字

select * from user where username like '曉_';   

//username中包含「曉」字並且是三個字的名字

select * from user where username like '_曉_';

在以某個字元開頭和結尾查詢時也可以用"*"

//username中以「曉」字結尾的名字

select * from user where username like '*曉';   

//username中以「曉」字開頭的名字

select * from user where username like '曉*';

//查詢name欄位中含有數字的。

select * from table1 where name like '%[0-9]%'

//查詢name欄位中含有小寫字母的。

select * from table1 where name like '%[a-z]%'

//查詢name欄位中不含有數字的。

select * from table1 where name like '%[!0-9]%'

說了一大堆查詢語句,like匹配的都是一些常量,如果匹配的是我們傳進去的乙個變數,怎麼辦那……往下瞅,哈哈

使用concat函式(把引數轉化成字串):

select * from t_user where password like concat('%',@password,'%')

嗒嘀嗒,解決了……

總結:越是基礎的東西掌握地越不牢,當時都沒有想到like關鍵字,慢慢積累吧!

原文: 

模糊查詢中Like的使用

萬用字元 表示任意個或多個字元。可匹配任意型別和長度的字元 表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句 可以代表乙個中文字元 demo username中以 曉 字結尾的名字 select from user where username like 曉 username中以...

Oracle中LIKE模糊查詢的使用

like 模糊查詢 佔位符 替代乙個或多個字元 僅替代乙個字元 charlist 字元列中的任何單一字元 charlist 或者 charlist 不在字元列中的任何單一字元 1 查詢 使用者名稱以 s 開頭的員工資訊 select from emp where ename like s 2 查詢 ...

like 模糊查詢

sql 模糊查詢 逗號,在sql中like中不需要轉義,但是如果 在sql中的某個欄位值用 分隔資料,需要獲取資料的時候直接把 拆分成資料,獲得乙個資料的list。例如 需要查詢某欄位是否包含乙個值,111是否存在於1111,2111,1112,1121,1113這個欄位中 因為根據 逗號分開,要求...