當前位置:首頁 » 存儲配置 » 存儲過程split

存儲過程split

發布時間: 2022-06-20 22:40:10

『壹』 informix的存儲過程中,怎麼實現類似split的功能

shell處理完再給informix使用不就行了

『貳』 sqlserver 查詢語句,存儲過程split

程序中處理性能會好些
在sql中寫的話 我會寫個函數來獲取對應的name
寫兩個個函數
一個用於將1,2,3轉換成表
一個用於獲取name
F_Split
F_GetNavName

『叄』 我就是想在存儲過程當中,傳入一個字元串(不知道長度的)。然後把這個字元傳裡面的字元全部拆分開來。

給你個存儲過程

CREATE PROCEDURE p_split
@c varchar(8000),
@split varchar(5)

as
declare @t table( word varchar(20) )

begin

while(charindex(@split,@c)<>0)
begin
insert @t( word) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'') -- 刪除指定長度的字元並在指定的起始點插入另一組字元
end
insert @t(word) values (@c) ---最後一個不含分隔的加進來
select distinct * from @t
end
GO

還是用表變數

『肆』 mysql存儲過程中 如何拆分字元串

MySQL分割字元串應該如何實現呢?下面就為您介紹MySQL分割字元串的實現方法步驟,希望可以讓您對MySQL分割字元串有更多的了解。

例如:update `edw_video` set company = substring(keyword,1,length(SUBSTRING_INDEX(keyword,",",1)))

名稱:SPLIT_SUB_STR1(取得split字元串的第一段)
參數:str 要split的目標字元串 (輸入格式為『11,2,3,4,5,6』; 輸出為『2,3,4,5,6』)
delimiter 分隔符 (『,』)
split1 輸出第一項(『11』)
存儲過程
CREATE DEFINER=`root`@`%` PROCEDURE `SPLIT_SUB_STR0`(inout str VARCHAR(1000) ,delimiter VARCHAR(1), out split1 VARCHAR(20))

BEGIN
# 名稱 SPLIT_SUB_STR1 取得分割字元串的第一段字元
# 參數inout str VARCHAR(1000) ,delimiter VARCHAR(1), out split0 VARCHAR(20)
# 輸入完整字元串,輸出去掉取得第一項後的字元串; 分隔符; 輸出split的第一個項目

#分割出第一段字元串不包括分隔符的長度
DECLARE SUB_STR_LENGTH INT;

# SUBSTRING_INDEX函數取得目標字元串左側第n個分割符左側的部分,n為負時返回右側第n個的右部分
SET SUB_STR_LENGTH = length(SUBSTRING_INDEX(str,delimiter,1));

#截取第一段字元串,不包括分隔符,放入輸出參數里
SET split0 = substring(str, 1, SUB_STR_LENGTH);

# 取得去掉第一個字元串和分隔符的字元串,進行下次循環取得下個字元串
SET str = substring(str, SUB_STR_LENGTH + 2 );
#測試一下輸出是否正確
#SELECT SUB_STR_LENGTH, SUB_STR_SPLIT0, STR;
END

調用實例

CREATE DEFINER=`root`@`%` PROCEDURE `test`()
BEGIN
#目標字元串
set @a = 』1,2,3,4,5,6,12『;
# 分隔符
set @c = ',';
# 存儲風格後的字元串
set @b = '';

REPEAT
# 調用上面的存儲過程
CALL SPLIT_SUB_STR0(@a, ',', @c);
#將取得的字元串拼接,測試用
set @b = concat(@b, @c);
#當目標字元串為空時,停止循環
UNTIL @a = ''
END REPEAT;
# 查看結果
select @a, @c, @b;

END;

『伍』 mysql 存儲過程或函數 split 怎麼寫

mysql 存儲過程或函數 split 怎麼寫
1、函數必須指定返回值,且參數默認為IN類型。
2、存儲過程沒返回值,參數可以是 IN,OUT,IN OUT類型,有的人可能會理解成OUT 也算是返回值。
3、調用方式:函數 select my_fun() ;過程 call my_pro( ) ;

『陸』 存儲過程如何 解析字元串

方法:
1.創建split函數(轉)
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
--實現split功能 的函數
--date :2005-4-20
--Author :Domino
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
end

用法:select * from dbo.f_split('A:B:C:D:E',':')

2.存儲過程

CREATE PROCEDURE InsertRecord
@Qstring varchar(50),
AS
insert into names(name1,name2,name3,name4) values
(select * from dbo.f_split(@Qstring,',')

3.調用存儲過程

『柒』 關於SQLserver 存儲過程 如何切割一個字元串 轉化為數組

Create Function [dbo].[Split](@Sql varchar(8000),@Splits varchar(10))
returns @temp Table (a varchar(100))
As
Begin
Declare @i Int
Set @Sql = RTrim(LTrim(@Sql))
Set @i = CharIndex(@Splits,@Sql)
While @i >= 1
Begin
Insert @temp Values(Left(@Sql,@i-1))
Set @Sql = SubString(@Sql,@i+1,Len(@Sql)-@i)
Set @i = CharIndex(@Splits,@Sql)
End
If @Sql <> ''
Insert @temp Values (@Sql)
Return
End

『捌』 oracle存儲過程傳入一個字元串參數'1,2,3,4,5,6,7,8',如何分割並轉為數字

create or replace type type_split as table of varchar2(50); --創建一個type,如果為了使split函數具有通用性,請將其size 設大些。

--創建function
create or replace function split
(
p_list varchar2,
p_sep varchar2 := ','
) return type_split pipelined
is
l_idx pls_integer;
v_list varchar2(50) := p_list;
begin
loop
l_idx := instr(v_list,p_sep);
if l_idx > 0 then
pipe row(substr(v_list,1,l_idx-1));
v_list := substr(v_list,l_idx+length(p_sep));
else
pipe row(v_list);
exit;
end if;
end loop;
return;
end split;

使用:
select * from table(split('1,2,3,4,5,6,7,8'
,','));
然後就可以通過「,」來分割數字了

熱點內容
java方法命名 發布:2025-01-06 09:55:33 瀏覽:320
ros編譯後的可執行文件 發布:2025-01-06 09:53:27 瀏覽:742
資料庫查詢一個欄位 發布:2025-01-06 09:44:13 瀏覽:689
2008年配置最高的電腦是什麼 發布:2025-01-06 09:40:35 瀏覽:945
蘋果7手機相冊加密 發布:2025-01-06 09:24:24 瀏覽:560
pp紅包安卓版在哪裡找 發布:2025-01-06 09:18:49 瀏覽:906
python讀取資料庫數據 發布:2025-01-06 08:57:19 瀏覽:810
微信編程教程 發布:2025-01-06 08:50:14 瀏覽:225
macbookair買哪個配置合適 發布:2025-01-06 08:45:56 瀏覽:168
列印中文演算法 發布:2025-01-06 08:29:19 瀏覽:201