久久久亚洲精品一区二区三区,久久精品2025中文字幕 ,国产精品无码专区,久久久久无码精品国产情侣,亚洲第一女人av,中文日韩亚洲欧美制服

外地客戶如不方便將要進(jìn)行數(shù)據(jù)恢復(fù)的儲(chǔ)存設(shè)備(如硬盤,U盤等)送到我們數(shù)據(jù)恢復(fù)中心,可以通過(guò)快遞至我數(shù)據(jù)恢復(fù)中心。

SQL Server如何使用正則表達(dá)式基本字符匹配

我們從一個(gè)非常簡(jiǎn)單的例子開(kāi)始。下面的語(yǔ)句檢索列prod_name包含文本1000的所有行:

SELECT prod_name
FROM products
WHERE prod_name REGEXP'1000'
ORDER BY prod_name;

輸出

prod_name
JetPack 1000

除關(guān)鍵字LIKE被REGEXP替代外,這條語(yǔ)句看上去非常像使用LIKE的語(yǔ)句(第8章) 。它告訴MySQL:REGEXP后所跟的東西作為正則表達(dá)式(與文字正文1000匹配的一個(gè)正則表達(dá)式)處理。

為什么要費(fèi)力地使用正則表達(dá)式?在剛才的例子中,正則表達(dá)式確實(shí)沒(méi)有帶來(lái)太多好處(可能還會(huì)降低性能),不過(guò),請(qǐng)考慮下面的例子:

SELECT prod_name
FROM products
WHERE prod_name REGEXP '.000'
ORDER BY prod_name;

輸出

prod_name
JetPack 1000
JetPack 2000

這里使用了正則表達(dá)式.000。.是正則表達(dá)式語(yǔ)言中一個(gè)特殊的字符。它表示匹配任意一個(gè)字符,因此,1000和2000都匹配且返回。

當(dāng)然,這個(gè)特殊的例子也可以用LIKE和通配符來(lái)完成。

LIKE與REGEXP 在LIKE和REGEXP之間有一個(gè)重要的差別。請(qǐng)看以下兩條語(yǔ)句:

SELECT prod_name
FROM products
WHERE prod_name LIKE '1000'
ORDER BY prod_name;
SELECT prod_name
FROM products
WHERE prod_name REGEXP '1000'
ORDER BY prod_name;

如果執(zhí)行上述兩條語(yǔ)句,會(huì)發(fā)現(xiàn)第一條語(yǔ)句不返回?cái)?shù)據(jù),而第二條語(yǔ)句返回一行。為什么?

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

那么,REGEXP能不能用來(lái)匹配整個(gè)列值(從而起與LIKE相同的作用)?答案是肯定的,使用^和$定位符(anchor)即可。

匹配不區(qū)分大小寫 MySQL中的正則表達(dá)式匹配(自版本3.23.4后)不區(qū)分大小寫(即,大寫和小寫都匹配)。為區(qū)分大小寫,可使用BINARY關(guān)鍵字,如WHERE prod_name REGEXP BINARY ‘JetPack .000’。

轉(zhuǎn)載請(qǐng)注明:成都千喜數(shù)據(jù)恢復(fù)中心 » SQL Server如何使用正則表達(dá)式基本字符匹配

喜歡 (42)

您必須 登錄 才能發(fā)表評(píng)論!

頂部 電話 微信
微信號(hào):18328458868
QQ 地圖 底部