sql拆分字串

2021-06-05 08:14:48 字數 1931 閱讀 7501

--拆分字元卡

create function s(@id varchar(20),@編號串 varchar(max))

returns @tab table(id varchar(20),編號 varchar(30))

begin

declare @ipos int, @bh varchar(20);

while 1>0

begin

set @ipos=charindex(',',@編號串,1)

if @ipos>0

set @bh=substring(@編號串,1,@ipos-1)

else

set @bh=@編號串

set @編號串=substring(@編號串,@ipos+1,len(@編號串))

if len(@bh)>0

begin

insert into @tab(id,編號)values(@id,@bh);

endif isnull(@ipos,0)<1 break

endreturn

end--迴圈獲取資料(儲存過程版本)

alter proc c

asbegin

create table #w

(id varchar(20),

name varchar(20)

)declare @編號 varchar(max)

declare @id varchar(max)

select row_number() over(order by getdate()) as rownumber ,* into #t from ss

declare @i int;

set @i=1;

while(@i<=(select count(*) from ss))

begin

set @編號=(select  name from #t where rownumber=@i)

set @id=(select  id from #t where rownumber=@i)

insert into #w select * from s(@id,@編號)

set @i=@i+1

endselect * from #w

drop table #t

drop table #w

end--exec c

--迴圈獲取資料(函式版本)

alter function s1()

returns @tab table(id varchar(20),編號 varchar(30))

begin

begin

declare @編號 varchar(max)

declare @id varchar(max)

declare @i int;

set @i=1;

while(@i<=(select count(*) from ss))

begin

set @編號=(

select  name from

(select row_number() over(order by getdate()) as rownumber ,* from ss

)a where a.rownumber=@i

)set @id=(

select  id from

(select row_number() over(order by getdate()) as rownumber ,* from ss

)b where b.rownumber=@i

)insert into @tab select * from s(@id,@編號)

set @i=@i+1

endend

return

end--select * from s1()

ss表結構如下

id,name兩列

SQL 字串拆分

有這樣乙個字串 中,國,中,人民,國,現代工業化程序,國 處理過之後變成 中,國,人民,現代工業化程序 以下是我的方法,有什麼不對的地方還請各位指點 刪除重複的字元 declare v1 nvarchar 100 declare v2 nvarchar 100 declare v3 nvarchar...

拆分字串

拆分乙個字串,獲取每一組的key與value。如字串 qq adf f qewr98 eer d9adf t ad34 f qewrqr u adf43 gggg 2344 按照物件導向理念來解決,建立乙個物件 這個是對物件物件,有key和value兩個特性。我們需要把拆分好的資料臨時儲存起來,現在...

拆分字串

本函式可以將 目標字串 以 指定字串 進行拆分,並通過表結構返回結果。如下 create or replace type str split is table of varchar2 4000 create or replace function splitstr p string in varch...