mysql 正則表達(dá)式

前面我們學(xué)習(xí)了正則表達(dá)式其實(shí)我們?cè)趍ysql中也可以使用正則語(yǔ)句來(lái)查詢數(shù)據(jù)。

select * from studentinfo where student_name like '王';

select * from studentinfo where student_name regexp '王';

LIKE匹配整個(gè)列。如果被匹配的文本在列值 中出現(xiàn),LIKE將不會(huì)找到它,相應(yīng)的行也不被返回(除非使用通配符)。而REGEXP在列值內(nèi)進(jìn)行匹配,如果被匹配的文本在列值中出現(xiàn),REGEXP將會(huì)找到它,相應(yīng)的行將被返回。這是一個(gè)非常重要的差別。

select * from studentinfo where student_name regexp '^牛';

select * from studentinfo where student_name regexp '.牛$';

select * from studentinfo where student_name regexp '.牛.*$';

select * from studentinfo where student_name regexp '成|王';

select * from studentinfo where student_name regexp '^成|王';

select * from studentinfo where student_name regexp '成|牛';

select * from studentinfo where student_name regexp '.牛.{1,4}';

select * from studentinfo where phonenum regexp '^[1-7]{2,4}';

select * from studentinfo where student_name regexp '.牛( |小)';

轉(zhuǎn)義: 正則表達(dá)式語(yǔ)言由具有特定含義的特殊字符構(gòu)成。我們已經(jīng)看到.、[]、|和-等,還有其他一些字符。請(qǐng)問(wèn),如果你需要匹配這些字符,應(yīng)該怎么辦呢?例如,如果要找出包含.字符的值,怎樣搜索?請(qǐng)看下面的例子:

SELECT name,email FROM studentinfo WHERE email REGEXP '.';

SELECT * FROM studentinfo WHERE student_name REGEXP '^李.*.';

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 寶寶今日語(yǔ)錄: 鼠標(biāo)沒(méi)有亮 ,說(shuō):怎么回事?哦,這個(gè)關(guān)掉了。 換一個(gè)(轉(zhuǎn)凳子)這個(gè)方向 媽媽穿左腳的鞋(給我穿左鞋...
    afbf1003889c閱讀 356評(píng)論 0 0
  • 亡月,你好。 (看圖)
    Goblin生生閱讀 207評(píng)論 0 1