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

一个穷困潦倒的程序员 2014-10-30 06:10:06
SSIS 里面 有没有类似字符串 split 函数来拆分一个string 变量 和获取通过索引来获取一个object变量吗

我是想在数据合并的时候,加上自定义列,这个自定义列的值是放在变量里面 比如a ,b,c 我要加三个列,可不可以不用定义3个变量呢,一个变量就搞定啦,然后通过string.split(',')[0] 来取值呢
...全文
303 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxwangjm 2014-11-01
  • 打赏
  • 举报
回复
SSIS支持自定义函数吗,好像只支持自定义变量吧 TSQL当然支持自定义函数
  • 打赏
  • 举报
回复
SSIS支持自定义函数吗,好像只支持自定义变量吧
引用 2 楼 tangguangqiang 的回复:
可以自己写函数, 参考

 
 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) 
   
习惯性蹭分 2014-10-30
  • 打赏
  • 举报
回复
可以自己写函数, 参考

 
 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) 
   
还在加载中灬 2014-10-30
  • 打赏
  • 举报
回复
不清楚,SQL里面都要自己写~~

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧