如果@是特殊符號(hào)作為標(biāo)識(shí)表示這是個(gè)替代字符的話,你為什么不queryMap.put("userName", "%"+userName+"%");呢?
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、青川網(wǎng)絡(luò)推廣、成都微信小程序、青川網(wǎng)絡(luò)營(yíng)銷、青川企業(yè)策劃、青川品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供青川建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
查詢方法:
select?*?from?數(shù)據(jù)庫(kù)名稱?where?字段1?like?'%關(guān)鍵字%'?or?字段2?like?'%關(guān)鍵字%'?or?字段3?like?'%關(guān)鍵字%'
1、mysql :LIKE CONCAT('%',#{empname},'%' ) 或者 LIKE CONCAT('%',‘${empname}’,'%' ) 2、oracle:LIKE '%'||#{empname}||'%'
SQL模糊查詢的語(yǔ)法為
“SELECT column FROM table WHERE column LIKE ';pattern';”。
SQL提供了四種匹配模式:
1. % 表示任意0個(gè)或多個(gè)字符。如下語(yǔ)句:
SELECT * FROM user WHERE name LIKE ';%三%';
將會(huì)把name為“張三”,“三腳貓”,“唐三藏”等等有“三”的全找出來(lái);
2. _ 表示任意單個(gè)字符。語(yǔ)句:
SELECT * FROM user WHERE name LIKE ';_三_';
只找出“唐三藏”這樣name為三個(gè)字且中間一個(gè)字是“三”的;
SELECT * FROM user WHERE name LIKE ';三__';
只找出“三腳貓”這樣name為三個(gè)字且第一個(gè)字是“三”的;
3. [ ] 表示括號(hào)內(nèi)所列字符中的一個(gè)(類似與正則表達(dá)式)。語(yǔ)句:
SELECT * FROM user WHERE name LIKE ';[張李王]三';
將找出“張三”、“李三”、“王三”(而不是“張李王三”);
如 [ ] 內(nèi)有一系列字符(01234、abcde之類的)則可略寫(xiě)為“0-4”、“a-e”
SELECT * FROM user WHERE name LIKE ';老[1-9]';
將找出“老1”、“老2”、……、“老9”;
如要找“-”字符請(qǐng)將其放在首位:';張三[-1-9]';
4. [^ ] 表示不在括號(hào)所列之內(nèi)的單個(gè)字符。語(yǔ)句:
SELECT * FROM user WHERE name LIKE ';[^張李王]三';
將找出不姓“張”、“李”、“王”的“趙三”、“孫三”等;
SELECT * FROM user WHERE name LIKE ';老[^1-4]';
將排除“老1”到“老4”尋找“老5”、“老6”、……、“老9”。
!最后是重點(diǎn)!
由于通配符的緣故,導(dǎo)致我們查詢特殊字符“%”、“_”、“[”、“';”的語(yǔ)句無(wú)法正常實(shí)現(xiàn),而把特殊字符用“[ ]”括起便可正常查詢。據(jù)此我們寫(xiě)出以下函數(shù):
function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
查查是不是因?yàn)閠able_name和where之間沒(méi)加空格?
還有,為什么不是select * 而是select count(*)?這count 不管如何都有結(jié)果的
你最好看看你的notes的值是不是正確,頁(yè)面值是否正確傳入servlet,如果是中文可能還有編碼問(wèn)題.
不知道你要干嘛,但是下面是我的解決辦法
首先用 SHOW TABLES 語(yǔ)句顯示所有的數(shù)據(jù)庫(kù)名,然后逐漸遍歷這個(gè)數(shù)組,用 SHOW COLUMNS 顯示每個(gè)表的字段。最后你用 strpos 判斷每個(gè)字段名稱是否包含你要查找的數(shù)據(jù)