2015-06-23 106 views
0

對於像我們%。例如:如果我們給ad%它將獲取所有以ad開頭的記錄,但我應該使用regexp_like。對於regexp_like可以使用什麼,以便它充當像like一樣的%。我不能使用^廣告,因爲從UI我們會給像*廣告*取。喜歡和REGEXP_LIKE

查詢之前:從員工那裏FNAME喜歡 'PR%' 選擇*;

當前查詢:SELECT * FROM僱員其中REGEXP_LIKE(FNAME, 'PR +');

對當前查詢I M獲得其中包含的PR值,但我想這與美開始值。

TESTDATA:如果PR *給出的話,我應該得到的程序等即與PR啓動值。

+1

你能添加你的查詢,所以我們可以看到你正在嘗試做什麼?也可能是一些測試數據和預期結果 –

+0

是我現在明確的問題嗎? –

+0

首先你使用正則表達式錯誤,正確的語法afaik是「...其中regexp_like(fname,'pr +')」,我認爲regexp_like的通配符是句點「。」。所以你需要'公關'。 –

回答

1

試試這個:

SELECT * 
FROM employee 
WHERE REGEXP_LIKE (fname, '^pr(*)'); 

Fiddle

這一次似乎也遠工作,我可以告訴:

SELECT * 
FROM employee 
WHERE REGEXP_LIKE (fname, '^pr.'); 

或者一個沒有一個工作:

SELECT * 
FROM employee 
WHERE regexp_like(fname,'^pr'); 
+0

感謝感謝ü –

+0

這就是我們來這裏的目的,沒有問題 –

+0

哎傑里米我嘗試 SELECT * FROM MYTABLE WHERE REGEXP_LIKE(FNAME,'N $');取得以n結尾的值,但是$不起作用.. :(你能幫我... –

0

檢查以下鏈接REGEXP_LIKE -

http://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm

如果仍然無法reslove您的問題,然後由Jeremy份額的測試數據和預期的結果指出。這將有助於reslove。

檢查下面的例子

create table a 
(b varchar2(150)); 

insert into a values ('Pravin'); 

insert into a values ('TestPravin'); 

select * from a where REGEXP_LIKE (B, '^Pra'); 
+0

我提供了查詢和測試數據。 –

+0

@ ALEN我爲:)感謝ü答案追加例題你 –