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当然支持自定义函数