当前位置: 代码迷 >> Sql Server >> SSIS 里边 有没有类似字符串 split 函数来拆分一个string 变量 和获取通过索引来获取一个object变量吗
  详细解决方案

SSIS 里边 有没有类似字符串 split 函数来拆分一个string 变量 和获取通过索引来获取一个object变量吗

热度:701   发布时间:2016-04-24 09:41:28.0
SSIS 里面 有没有类似字符串 split 函数来拆分一个string 变量 和获取通过索引来获取一个object变量吗
本帖最后由 jksharp 于 2014-10-30 18:13:57 编辑
 SSIS 里面 有没有类似字符串 split 函数来拆分一个string  变量 和获取通过索引来获取一个object变量吗

我是想在数据合并的时候,加上自定义列,这个自定义列的值是放在变量里面 比如a ,b,c 我要加三个列,可不可以不用定义3个变量呢,一个变量就搞定啦,然后通过string.split(',')[0] 来取值呢
------解决思路----------------------
不清楚,SQL里面都要自己写~~
------解决思路----------------------
可以自己写函数,
参考

 
 if exists(select * from sys.objects where name='split' and type='fn')
 drop function split
 go
 create function split(@val varchar(400),@splitval varchar(30),@flag int)
 returns   varchar(400)
 as begin
  declare @tab table(number int identity(1,1),val varchar(50))
 if charindex(@splitval,@val)<=0
 return @val
 declare @location int,@values varchar(400),@reval varchar(100)
 select @location=1
 while @location<len(@val+@splitval)
 begin
   select @values=substring(@val,@location,charindex(@splitval,@val+@splitval,@location)-@location)
   insert into @tab(val)
   values(@values)
   set @location=charindex(@splitval,@val+@splitval,@location)+1
 end
 select @reval=val from @tab where number=@flag
 return  @reval
 end
 
  go
 select dbo.split('a,bbb,c',',',2) 
   

------解决思路----------------------
SSIS支持自定义函数吗,好像只支持自定义变量吧

TSQL当然支持自定义函数
  相关解决方案