我們?cè)诓樵兡硞€(gè)字段的時(shí)候,有時(shí)候只想匹配某段數(shù)據(jù),比如想查詢這篇文章的所有關(guān)鍵詞是否存在某個(gè)關(guān)鍵詞,我們往往需要匹配,我們下面來(lái)講解一下如何匹配查詢某個(gè)關(guān)鍵詞值
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到資溪網(wǎng)站設(shè)計(jì)與資溪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋資溪地區(qū)。
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
以上就是MySQL正則匹配模糊查詢某個(gè)字段的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
當(dāng)前題目:mysql如何匹配查詢某個(gè)關(guān)鍵詞值
網(wǎng)頁(yè)URL:http://chinadenli.net/article48/gediep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、商城網(wǎng)站、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)