通配符:
%、 _
%:表示任意個或多個字符。可匹配任意類型和長度的字符
_:表示任意單個字符。匹配單個任意字符,它常用來限制表達式的字符長度語句:(可以代表一個中文字符)
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,'%')
作者:吳曉如
來源:CSDN
原文:https://blog.csdn.net/wxr15732623310/article/details/53447035
