萬用字元:
%:表示任意個或多個字元。可匹配任意型別和長度的字元
_:表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:(可以代表乙個中文字元)
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這個欄位中 因為根據 逗號分開,要求...