SQL模糊查詢及擴充套件正規表示式的使用

2021-08-13 20:55:43 字數 1163 閱讀 5451

模糊查詢時,均不能使用=或!=。本文中用"dot"替代"."

模糊查詢分為兩張方法:

1.完全匹配法(like/not liek)

_ 表示乙個字元

% 表示乙個或多個字元

[charlist] 字元列中的任何單一字元

[^charlist]/[!charlist] 不在字元列中的任何單一字元

查詢含有'w'的行:

select * from pet where name like '%w%';

查詢包含正好5個字元的行:

select * from pet where name like '_____';

2.部分匹配法(regexp/not regexp/rlike/not rlike)

先對比下一般正規表示式: 

x* 表示x出現0次或多次

dot 匹配任意乙個字元

dot* 匹配一串任意字元

sql的擴充套件正規表示式:

"x" 表示x出現0次或多次

dot 匹配任意乙個字元

"*" 匹配一串任意字元

查詢含有'w'的行:

select * from pet where name regexp 'w';

查詢包含正好5個字元的行:

select * from pet where name regexp '^.....$';

或使用「」重複n次操作符,重寫前面的查詢:

select * from pet where name regexp '^.$';

查詢只匹配名稱首字母的小寫'b':

select * from pet where name regexp binary '^b';

egrep及擴充套件正規表示式

正規表示式 basic regexp 基本 extended regexp 擴充套件 grep 使用基本正規表示式定義的模式來過濾文字的命令 e 使用擴充套件正規表示式 a after 後 行 b before 前 行 c 前後各 行 擴充套件正規表示式 字元匹配 匹配任意單個字元 匹配指定範圍內的...

MySQL sql模糊查詢正規表示式

mysql使用regexp函式,如 select from course c where c.t id regexp 0 2 1.正規表示式元字元說明 元字元含義 匹配輸入字串的開始位置。匹配輸入字串的結尾位置。匹配前面的字元零次或多次。匹配前面的字元一次或多次。匹配前面的字元零次或一次。匹配任何字...

擴充套件正規表示式

事實上,一般實驗者只需要熟悉基礎的正規表示式就足夠了。不過有時候為了簡化命令操作,了解一些使用範圍更廣的擴充套件表示式,會更加方便。正規表示法 grep v regular express.txt grep v 需要使用到管線命令來搜尋兩次!那麼如果使用延伸型的正規表示法,我們可以簡化為 egrep...