Интересно, лучше ли вам сначала запустить это через функцию с разделенными строками в 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.