佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Mysql| 使用通配符進(jìn)行模糊查詢(xún)?cè)斀?like,%,_)

Mysql| 使用通配符進(jìn)行模糊查詢(xún)?cè)斀?like,%,_)

熱門(mén)標(biāo)簽:地方門(mén)戶(hù)網(wǎng)站 服務(wù)外包 呼叫中心市場(chǎng)需求 網(wǎng)站排名優(yōu)化 百度競(jìng)價(jià)排名 Linux服務(wù)器 鐵路電話(huà)系統(tǒng) AI電銷(xiāo)

通配符的分類(lèi):

%百分號(hào)通配符: 表示任何字符出現(xiàn)任意次數(shù) (可以是0次).

_下劃線(xiàn)通配符:表示只能匹配單個(gè)字符,不能多也不能少,就是一個(gè)字符.

like操作符:

LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配進(jìn)行比較.

注意: 如果在使用like操作符時(shí),后面的沒(méi)有使用通用匹配符效果是和=一致的,SELECT * FROM products WHERE products.prod_name like '1000';只能匹配的結(jié)果為1000,而不能匹配像JetPack 1000這樣的結(jié)果.

1)%通配符使用:

匹配以"yves"開(kāi)頭的記錄:(包括記錄"yves")

SELECT * FROM products WHERE products.prod_name like 'yves%';

匹配包含"yves"的記錄(包括記錄"yves")

SELECT * FROM products WHERE products.prod_name like '%yves%';

匹配以"yves"結(jié)尾的記錄(包括記錄"yves",不包括記錄"yves ",也就是yves后面有空格的記錄,這里需要注意)

SELECT * FROM products WHERE products.prod_name like '%yves';

2)_通配符使用:

SELECT * FROM products WHERE products.prod_name like '_yves';

匹配結(jié)果為: 像"yyves"這樣記錄.

SELECT * FROM products WHERE products.prod_name like 'yves__';

匹配結(jié)果為: 像"yvesHe"這樣的記錄.(一個(gè)下劃線(xiàn)只能匹配一個(gè)字符,不能多也不能少)

注意事項(xiàng):

注意大小寫(xiě),在使用模糊匹配時(shí),也就是匹配文本時(shí),mysql是可能區(qū)分大小的,也可能是不區(qū)分大小寫(xiě)的,這個(gè)結(jié)果是取決于用戶(hù)對(duì)MySQL的配置方式.如果是區(qū)分大小寫(xiě),那么像YvesHe這樣記錄是不能被"yves__"這樣的匹配條件匹配的.

注意尾部空格,"%yves"是不能匹配"heyves "這樣的記錄的.

注意NULL,%通配符可以匹配任意字符,但是不能匹配N(xiāo)ULL,也就是說(shuō)SELECT * FROM products WHERE products.prod_name like '%';是匹配不到products.prod_name為NULL的的記錄.

技巧與建議:

正如所見(jiàn), MySQL的通配符很有用。但這種功能是有代價(jià)的:通配符搜索的處理一般要比前面討論的其他搜索所花時(shí)間更長(zhǎng)。這里給出一些使用通配符要記住的技巧。

不要過(guò)度使用通配符。如果其他操作符能達(dá)到相同的目的,應(yīng)該 使用其他操作符。

在確實(shí)需要使用通配符時(shí),除非絕對(duì)有必要,否則不要把它們用 在搜索模式的開(kāi)始處。把通配符置于搜索模式的開(kāi)始處,搜索起 來(lái)是最慢的。

仔細(xì)注意通配符的位置。如果放錯(cuò)地方,可能不會(huì)返回想要的數(shù).

補(bǔ)充知識(shí):MySQL LIKE模糊查詢(xún) % _ 通配符會(huì)查詢(xún)出所有數(shù)據(jù)

最近寫(xiě)了一批分頁(yè)查詢(xún) 測(cè)試查詢(xún)出用 _ % 這兩個(gè)特殊字符會(huì)查詢(xún)出所有數(shù)據(jù) 查詢(xún)條件不起作用 結(jié)果不是測(cè)試想要的

后來(lái)發(fā)現(xiàn)這兩個(gè)特殊字符在sql like查詢(xún) 中是通配符 可以代表任意字符

最后想出了2種解決方案

1. 轉(zhuǎn)義 這兩個(gè)特殊字符 就可以實(shí)現(xiàn)

2.使用內(nèi)部函數(shù)INSTR,代替?zhèn)鹘y(tǒng)的LIKE方式查詢(xún),并且速度更快。

INSTR()函數(shù)返回字符串中子字符串第一次出現(xiàn)的位置。如果在str中找不到子字符串,則INSTR()函數(shù)返回零(0)。

下面說(shuō)明了INSTR函數(shù)的語(yǔ)法。

select * from user where INSTR(name,'小明');

以上這篇Mysql| 使用通配符進(jìn)行模糊查詢(xún)?cè)斀?like,%,_)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql對(duì)于模糊查詢(xún)like的一些匯總
  • MySQL 數(shù)據(jù)庫(kù) like 語(yǔ)句通配符模糊查詢(xún)小結(jié)
  • MySQL Like模糊查詢(xún)速度太慢如何解決
  • mysql模糊查詢(xún)like與REGEXP的使用詳細(xì)介紹
  • mysql模糊查詢(xún)like和regexp小結(jié)
  • MySql like模糊查詢(xún)通配符使用詳細(xì)介紹
  • mysql中l(wèi)ike % %模糊查詢(xún)的實(shí)現(xiàn)

標(biāo)簽:銅川 黃山 湘潭 蘭州 湖南 崇左 衡水 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql| 使用通配符進(jìn)行模糊查詢(xún)?cè)斀?like,%,_)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    理塘县| 垫江县| 永顺县| 长葛市| 上犹县| 东辽县| 湟源县| 汕头市| 望城县| 土默特右旗| 晋中市| 桑日县| 巴中市| 衡水市| 车致| 孝义市| 庐江县| 衡南县| 馆陶县| 乌恰县| 平山县| 温宿县| 合水县| 罗平县| 洛扎县| 海丰县| 宝应县| 宁夏| 仲巴县| 宁强县| 嘉祥县| 苍山县| 景泰县| 封开县| 土默特左旗| 澎湖县| 东城区| 凤凰县| 孟州市| 息烽县| 遂平县|