SQL中字串拆分成獨立的多個字串

2021-04-26 09:48:10 字數 1976 閱讀 9383

create table #ie_department_manager(empl_index nvarchar(10),dep_code nvarchar(200))

insert into #ie_department_manager values('656','as011')

insert into #ie_department_manager values('657','as011/as012/as013/as021/as022/as023')

insert into #ie_department_manager values('658','as011/as012/as013/as021/as022/as023/ac011/ac012/ac013/ac021/ac022/ac023')

create table #tmppersonfordep(empl_index nvarchar(10),dep_code nvarchar(20))

create table #tmppersonfordep2(empl_index nvarchar(10),dep_code nvarchar(20))

declare tmpmanager cursor for

select empl_index,dep_code from #ie_department_manager

order by dep_code

declare @empl_index nvarchar(10),@dep_code nvarchar(200),@position int,@index int

open tmpmanager

fetch next from tmpmanager

into @empl_index,@dep_code

while @@fetch_status = 0

begin

--法一:replace命令

declare @comm nvarchar(4000)

set @comm='insert   into  #tmppersonfordep  values   ('+@empl_index+',''')+''')'

--print @empl_index+'~'+@dep_code

--print @comm

execute (@comm)

--法二:charindex命令

set @position=charindex('/',@dep_code)

if right(@dep_code,1)<>'/'

begin

set @dep_code=@dep_code+'/'

set @position=charindex('/',@dep_code)

endset @index=1

while @position>0

begin

--  select @empl_index,@dep_code,substring(@dep_code,@index,@position-@index)

insert   into  #tmppersonfordep2  values(@empl_index,substring(@dep_code,@index,@position-@index))

set @index=@position+1

set @position=charindex('/',@dep_code,@index)

endfetch next from tmpmanager

into @empl_index,@dep_code

endselect * from #tmppersonfordep

select * from #tmppersonfordep2

close tmpmanager

deallocate tmpmanager

drop table #tmppersonfordep

drop table #tmppersonfordep2

drop table #ie_department_manager

SQL 字串拆分

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

sql拆分字串

拆分字元卡 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 beg...

字串拆分成陣列 842將陣列拆分成斐波那契數列

這個 星期六要考四級,真的是花36塊錢體驗下卷子。上次去華南理工比數學競賽,沒想到成功混了乙個一等獎 首先來看看題目 給定乙個數字字串 s,比如 s 123456579 我們可以將它分成斐波那契式的序列 123,456,579 形式上,斐波那契式序列是乙個非負整數列表 f,且滿足 0 f i 2 3...