create or replace procedure sp_mid_split_string_sp_end(out_name out varchar2, permids in varchar2) is
--permids的格式 如:5,8,9,45,56,78
p_start number; --開始的指標,這個為依次增加的,記錄","的個數
l_position1 number; --起始位置
l_position2 number;
sub_string varchar2(50); --每次得到的子串
l_lastposition number;
begin
out_name := '';
p_start := 1;
l_position1 := 1;
l_lastposition:= 0;
sp_mid_split_string_sp_endloop
l_position2 := instr(permids, '.', 1, p_start); --l_position2 找到「\」的位置
exit when l_position2 = 0;
/* l_position2 - l_position1 為擷取長度*/
sub_string := substr(permids, l_position1, l_position2 - l_position1);
if (l_position2 != 0) then
l_lastposition := l_position2+1; --記錄倒數第二次l_position2的位置,以方便求得最後乙個許可權
end if;
l_position1 := l_position2 + 1;
p_start := p_start + 1;
end loop;
--找出最後乙個
if (l_lastposition!= length(permids)) then
l_lastposition:=l_lastposition-2;
sub_string := substr(permids,1 , l_lastposition);
out_name:=sub_string;
end if;
sql 判斷逗號分隔字串中, 包含某個字串
dimfilterids 是budg template dims 表裡的乙個字段,儲存的是 222,123,111 1123,1456,2123 這一類字段,要從表裡查詢出 dimfilterids 中包含 123 的記錄,則使用以下 sql sqlserver select from budg t...
從某個字串中擷取子字串
首先拿到手上的是乙個路徑加上檔名的字串,但因為某種需要,我僅僅只要路徑,不需要檔案文,這時我們就可以做以下操作即可得到自己想要的。procedure tform4.button1click sender tobject varstr string str1 string str2 string n ...
js 字串是否包含某個字元
方法一 indexof 推薦 var str 123 console.log str.indexof 3 1 trueindexof 方法可返回某個指定的字串值在字串中首次出現的位置。如果要檢索的字串值沒有出現,則該方法返回 1。方法二 search var str 123 console.log ...