SQL正規表示式進行搜尋

2021-09-10 03:33:49 字數 2442 閱讀 5200

基本字元匹配

select prod_name

from products

where prod_name regexp '.000'

order by prod_name;

分析

這裡使用了正規表示式 .000,是正規表示式語言中乙個特殊的字元。它表示匹配任意乙個字元,因此,1000和2000都匹配且返回。

注意:like和regexp之間有乙個重要的區別

like匹配整個列

regexp匹配字元

區分大小寫:

select prod_name

from products

where prod_name regexp binary 'jetpack.000'

order by prod_name;

進行or匹配

select prod_name

from products

where prod_name regexp '1000 | 2000'

order by prod_name;

分析

兩個或者兩個以上的用 『 1000 | 2000 | 3000 | 4000』

匹配幾個字元之一

select prod_name

from products

where prod_name regexp '[123] ton'

order by prod_name;

分析

[123] ton 的意思是匹配1或2或3,因此,1 ton和2 ton都匹配且返回

匹配範圍

select prod_name

from products

where prod_name regexp '[1-5] ton'

order by prod_name;

分析

匹配1-5

匹配特殊字元

select prod_name

from products

where prod_name regexp '\\.'

order by prod_name;

分析

\. 匹配,檢索出一行,轉義匹配 .

\f 換頁

\n 換行

\r 回車

\t 製表

\v 縱向製表

匹配\ \

mysql要用\:mysql自己解釋乙個,正規表示式解釋乙個

匹配字元類

匹配多個例項

分析

\(匹配)

[0-9]匹配任意數字

s後?使s可選

\ )匹配)

匹配連在一起的4位數字:

select prod_name

from products

where prod_name regexp '[[:digit:]]'

order by prod_name;

select prod_name

from products

where prod_name regexp '[0-9][0-9][0-9][0-9]'

order by prod_name;

定位符

select prod_name

from products

where prod_name regexp '\^ [0-9\\.]'

order by prod_name;

分析

^的雙重用途:在集合中用來否定該集合,用來指串的開始處

mysql之用正規表示式進行搜尋

比如 000 能匹配 1000 和 2000 select from h info where l id regexp 0 select from h info where l id regexp 0 3.表示檢索l id個位是0和十位是3的記錄。select from h info where l...

sql正規表示式 SQL中的正規表示式

sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...

SQL 正規表示式

由mysql提供的模式匹配的其他型別是使用擴充套件正規表示式。當你對這類模式進行匹配測試時,使用regexp和not regexp操作符 或rlike和not rlike,它們是同義詞 擴充套件正規表示式的一些字元是 匹配任何單個的字元。乙個字元類 匹配在方括號內的任何字元。例如,abc 匹配 a ...