MySQL中的百分號(hào)%,是使用通配符進(jìn)行模式匹配查詢的一種方法。這個(gè)符號(hào)可以在任意位置或者不出現(xiàn)位置匹配字符串。
//例子1:查詢名字以J開(kāi)頭的人 SELECT * FROM customers WHERE name LIKE 'J%'; //例子2:查詢名字里面包含B的人 SELECT * FROM customers WHERE name LIKE '%B%'; //例子3:查詢名字以B結(jié)尾的人 SELECT * FROM customers WHERE name LIKE '%B';
在MySQL中,我們可以使用百分號(hào)%來(lái)代替一個(gè)或多個(gè)字符。例如,在例子2中,'%B%'會(huì)匹配包含'B'字符的名字,如Bob、Bobby、Toby等等。而在例子3中,'%B'會(huì)匹配以'B'結(jié)尾的名字,如Rob、Keb等等。
需要注意的是,當(dāng)使用%進(jìn)行模式匹配時(shí),如果匹配值非常大,可能會(huì)使查詢變慢。因此,應(yīng)該限制匹配范圍,給定一個(gè)明確的前綴或后綴。
//例子4:查詢名字長(zhǎng)度大于4,以'J'開(kāi)頭的人 SELECT * FROM customers WHERE name LIKE 'J____%'; //例子5:查詢名字長(zhǎng)度大于4,以'T'結(jié)尾的人 SELECT * FROM customers WHERE name LIKE '%____T';
在例子4、例子5中,'____'代表四個(gè)下劃線,表示名字中除了開(kāi)頭或結(jié)尾的字母外,還有四個(gè)位置的可變長(zhǎng)字符。
綜上,百分號(hào)%在MySQL中是一種強(qiáng)大的模式匹配工具,可以用于各種查詢,但也需要注意使用場(chǎng)景及查詢效率。
上一篇mysql #1045
下一篇mysql $的用法