2016-06-09 91 views
0

我可以測試REGEXP表達式是否與值列表中的所有值匹配? 我想要類似:PL SQL與REGEXP匹配列表中的所有項目

where REGEXP_LIKE(data, ALL(input1,input2)) 

我該怎麼做? 我想測試一個REGEXP表達式的值中的列表中的任何值相匹配,是這樣的:

where REGEXP_LIKE(data, ANY(input1,input2)) 

例子:

data = 22251455 , 22247821 , 22958812 

input1 = REGEXP("AAA") 

input2 = REGEXP("ABB") 

where REGEXP_LIKE(data, ALL(input1,input2)) 

會因爲它包含222像AAA和455只返回22251455如ABB, 而

where REGEXP_LIKE(data, ANY(input1,input2)) 

將返回22251455,22247821,22958812

+1

請提供一些示例數據和預期輸出。 – sagi

+0

我有一個字符串在逗號分隔asp.net mvc 4項目,我將每個子字符串轉換爲正則表達式,並將轉換後的字符串發送到oracle存儲過程,將逗號分隔的字符串轉換爲數組,我想檢查表中的項目匹配此數組中的所有項目,並檢查表格中的項目是否與此數組中的任何項目匹配 – Rad

回答

0

對於「任何」,您可以嘗試按以下查詢。 下面是我有表emp與下面包含的數據的示例。

empno empname 
    110 raag 
    111 radd 
    102 sam 
    104 leo 
    105 ram 
    102 sam 
    103 mam 

查詢: -

select * from emp where regexp_like(lower(ename), '^(radd|leo|sam)'); 

出來放: -

empno empname 
111 radd 
102 sam 
104 leo 
102 sam 
相關問題