sql保留字串中的某個字元前面的字串

2021-07-16 21:35:34 字數 1177 閱讀 8509

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 ...