程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 通過傳入的字符串並根據分隔符截取出目標字符串

通過傳入的字符串並根據分隔符截取出目標字符串

編輯:關於JAVA
 

剛剛寫一接口的時候,外圍系統需要傳入一個字符串來作為查詢條件查詢數據,最後由財務系統返回數據至外圍系統,但傳入的一個變量數據是一個整體,需要截取獲取目標字符串才能作為查詢條件,於是寫一函數,記錄於此以備後用:

–通過傳入的字符串並根據分隔符截取出目標字符串(分隔符為',',可自定義分隔符)

declare
p_str varchar2(1000) := 'a,c,g';
l_count number := 0;
l_str varchar2(100); –目標字符串數據
begin
–首先獲取字符串特別字符的數量
select nvl(length(regexp_replace(p_str, '[^,]', '')) + 1, 0)
into l_count
from dual;

–如果只有一個字符段,則不處理
if l_count = 0 then
dbms_output.put_line('Data: ' || p_str);
end if;
–如果有多個字符段,則分割
if l_count <> 0 then
for i in 1 .. l_count loop
select regexp_substr(p_str, '[^,]+', 1, i) as str
into l_str
from dual;
dbms_output.put_line('Data' || i || ':' || l_str);
end loop;
end if;
exception
when others then
dbms_output.put_line('error code :' || sqlcode);
dbms_output.put_line('error msg :' || sqlerrm);
end;

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved