我不知道你想通过SQL第一分割字符串函数是更好的运行呢?这样你就可以获得每个角色的日期,然后你可以直接输出到目的地。
我创建了一个功能,方便这一点:
CREATE FUNCTION [dbo].[udf_SplitStringIntoRows](@text varchar(max))
RETURNS @tbl TABLE ([value] char(1) NOT NULL)
AS
BEGIN
WHILE len(@text) > 0
BEGIN
INSERT INTO @tbl
SELECT left(@text,1)
SET @text = RIGHT(@text,len(@text)-1)
END
RETURN
END
然后,测试我创建了一个快速的临时表与您的数据的数据:
DECLARE @source as TABLE([value] varchar(max), [date] datetime)
INSERT INTO @source
SELECT '##/\/\/\/\/\##HHHHHHBBBB##/\/\/\/\/\', getdate()
UNION
SELECT '##/\/\/\/\/\##HHHHHHBBBB##/\/\/\/\/\', getdate()+1
UNION
SELECT '##/\/\/\/\/\##HHHHHHBBBB##/\/\/\/\/\', getdate()+2
然后跨应用的功能该数据集:
SELECT d.[value], s.date
FROM @source s
CROSS APPLY dbo.[udf_SplitStringIntoRows](s.value) d
这应该给你你需要进一步的凝固酶原源数据集SSIS中的ss。
问题很混乱,您应该编辑您的问题并添加真实世界的例子:输入行和所有输出行。但是,在SSIS中使用派生列和数据透视/ Unpivot。测试性能并决定您是否将建议使用SSIS或SQL作为LeedsDBA。 –