請問有沒有人知道如何從一個巨大的字符串中使用pl/sql獲取特定的字符串, 我是創建查詢的初學者,所以任何幫助都會有用。 順便說一句我不想使用的功能:select substr(*,*,*)from * cuz輸入是可變的,所以任何一個人都可以幫我解決這個問題, 和你建議我使用block那種情況。從字符串中獲取特定單詞,ORACLE
感謝&問候,
請問有沒有人知道如何從一個巨大的字符串中使用pl/sql獲取特定的字符串, 我是創建查詢的初學者,所以任何幫助都會有用。 順便說一句我不想使用的功能:select substr(*,*,*)from * cuz輸入是可變的,所以任何一個人都可以幫我解決這個問題, 和你建議我使用block那種情況。從字符串中獲取特定單詞,ORACLE
感謝&問候,
這聽起來像你正在尋找一個更大的字符串中的特定字符串。如果是這樣,你可能尋找的功能INSTR:
http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm
鏈接到Oracle文檔而不是第三方會更好:http://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_1103.htm – 2012-04-11 13:37:55
@BurhanAli謝謝,鏈接已更新。 – 2012-04-11 15:20:10
據我的理解到要check
您的問題specific word
是否存在於string or not
,如果是這樣的問題,你可以找到下面的解決方案。
DECLARE
v_string VARCHAR2(200):='MY NAME IS GAURAV SONI';
v_check PLS_INTEGER;
BEGIN
v_check:=INSTR(v_string,'GAURAV'); --this is case sensitive
IF v_check >0 THEN
dbms_output.put_line('Word exists');
END IF;
END;
在我們的字符串MY NAME IS GAURAV SONI
搜索詞GAURAV
以上塊和這個詞存在12
地方。
請注意,這是Case sensitive
,如果您將字gaurav
,v_check
的值將爲zero
。
如果您正在尋找Case insensitive
然後再對正則表達式在Oracle REGEXP_INSTR
到位INSTR
.Read甲骨文文件的使用此功能REGEXP_INSTR
在PL/SQL你不需要使用SELECT來使用substr。你可以直接調用它:v_result = substr(p_input,1,2); 根據你實際嘗試實現的內容,還可以看看[instr](http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions068.htm),[regexp_substr](http: //docs.oracle.com/cd/B19306_01/server.102/b14200/functions131.htm)和[regexp_instr](http://docs.oracle.com/cd/B13789_01/server.101/b10759/functions114.htm )。 – Viehzeug 2012-04-09 06:58:05
當提問這樣的問題時,你應該提供一些樣本輸入和一些優化的輸出。幫助我們來幫助你! – APC 2012-04-09 15:07:44
你是在pl/sql還是sql?有些背景會幫助你。 – 2012-04-11 13:39:05