0
我想在給定模式之前查找文本。我的主要問題是當我的文本有很多行時。regexp_substr:在給定模式之前查找文本
在這裏,例如:
SQL> with foo as
2 (select '1 first test error log blabla ' k from dual
3 union
4 select '2 second test
5 zz error log blablabla ' k from dual
6 )
7 SELECT REGEXP_SUBSTR(k,'.*error log',1,1) AS result_
8 ,k from foo;
RESULT_ K
------------------------------------- -------------------------------------
1 first test error log 1 first test error log blabla
zz error log 2 second test
zz error log blablabla
結果是用於第二行假。 它應該是:
RESULT_ K
------------------------------------- -------------------------------------
1 first test error log 1 first test error log blabla
2 second test 2 second test
zz error log zz error log blablabla
我跑11.2 Oracle數據庫
打我吧。在oracle中使用'n',然而,大多數語言的標誌是's'。 – ctwheels
您好MTO,謝謝您的回答。這正是我想要的。我只是要添加到我的查詢。這是不正確的,因爲正則表達式是貪婪的。所以爲了避免這種情況,如果我們有兩次模式,我們可以添加一個?到搜索。它將是REGEXP_SUBSTR(k,'。*?錯誤日誌',1,1,'n') – eliatou