ORACLE正則匹配查詢LIKE查詢多個(gè)值檢索數(shù)據(jù)庫(kù)對(duì)象
字符串’^198[0-9]$’可以匹配‘1980-1989’,如果希望統(tǒng)計(jì)出公司那些員工是80年~89年入職的,就可以使用如下的SQL語(yǔ)句:
select * from emp e where regexp_like(to_char( e.hiredate,"yyyy"),"^198[0-9]$");
正則表達(dá)式中常用到的元數(shù)據(jù)(metacharacter)如下:
^ 匹配字符串的開頭位置。
$ 匹配支付傳的結(jié)尾位置。
* 匹配該字符前面的一個(gè)字符0次,1次或者多次出現(xiàn)。例如52*oracle 可以匹配 5oracle,52oracle,522oracle,5222oracle等等。
+ 匹配該字符前面的一個(gè)字符1次或者多次出現(xiàn)。例如52+oracle 可以匹配 52oracle,522oracle,5222oracle等等
? 匹配該字符前面的一個(gè)字符0次或1次或者多次出現(xiàn)。例如52?oracle 只能匹配5oracle,52oracle等等
{n} 匹配一個(gè)字符串n次,n為正整數(shù)。例如:hel{2}o 所匹配的是hello
{n,m} 匹配一個(gè)字符串至少n次,至多m次。其中n和m都是整數(shù)。
. 匹配除了null之外的任何單個(gè)字符串
(pattern) 這個(gè)是用來(lái)匹配指定模式的一個(gè)子表達(dá)式
x|y 匹配x或者y,其中x和y是一個(gè)或者多個(gè)字符
[abc] 匹配括號(hào)中的任意一個(gè)字符。例如:[ab]bc可以匹配abc和bbc
[a-z] 匹配指定范圍內(nèi)的任意字符串。例如[A-G]hi可以匹配Ahi至Ghi
[::]指定一個(gè)字符類,可以匹配該類中的任意字符 這里的字符類包括:
[:alphanum:] 可以匹配字符0-9、A-Z、a-z
[:alpha:]可以匹配字符A-Z、a-z
[:blank:]可以匹配空格或者tab鍵
[:digit:]可以匹配數(shù)字 0-9
[:gragh:]可以匹配非空字符
[:punct:]可以匹配. , ” ‘等標(biāo)點(diǎn)符號(hào)。
[:upper:]可以匹配字符A-Z
[:lower:]可以匹配字符a-z
關(guān)于orace中的正則表達(dá)式只能通過oracle特意為正則表達(dá)式設(shè)計(jì)的4個(gè)函數(shù)來(lái)使用。這4個(gè)函數(shù)分別是:
regexp_like,regexp_instr,regexp_replace,regexp_substr。
查詢oracle中,哪些對(duì)象的sql包括了檢索的文本(多個(gè)值 使用“|”隔開, 關(guān)于user_source對(duì)象,移步到無(wú)限套娃鏈接 ORACLE常用數(shù)據(jù)字典)
未去重(查詢出詳細(xì)信息):
去重查詢出涉及到的對(duì)象名稱:
到此這篇關(guān)于ORACLE正則匹配查詢,LIKE查詢多個(gè)值檢索數(shù)據(jù)庫(kù)對(duì)象。的文章就介紹到這了,更多相關(guān)oracle正則匹配查詢內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
