Como eres .net desarrollador Supongo que será fácil para ti escribir un .net función que puede usar en su T-SQL código. Para escribir SQL CLR funciones comprobar esta respuesta
(He usado uno de los enlaces para implementar SQL CLR función de expresión regular.
Digamos que necesita dividir los valores en fragmentos de 4 longitudes y mostrar un máximo de 6 de ellos:
DECLARE @DataSouce TABLE
(
[RecordID] TINYINT IDENTITY(1,1) PRIMARY KEY
,[RecordData] NVARCHAR(MAX)
);
INSERT INTO @DataSouce ([RecordData])
VALUES ('test some test goes here')
,('some numbers go here - 1111122222233333344444444445');
SELECT DS.[RecordID]
,RM.[MatchID]
,RM.[CaptureValue]
FROM @DataSouce DS
CROSS APPLY [dbo].[fn_Utils_RegexMatches] ([RecordData], '.{1,4}') RM;
Ahora los datos están divididos. Vamos a pivot y muestra solo 6 de los fragmentos:
SELECT *
FROM
(
SELECT DS.[RecordID]
,RM.[MatchID]
,RM.[CaptureValue]
FROM @DataSouce DS
CROSS APPLY [dbo].[fn_Utils_RegexMatches] ([RecordData], '.{1,4}') RM
) DS
PIVOT
(
MAX([CaptureValue]) FOR [MatchID] IN ([0], [1], [2], [3], [4], [5], [6])
) PVT;
Aquí uso regex función para dividir los datos y PIVOT para crear columnas y excluir algunos de los fragmentos. Ahora puede insertar los datos en la tabla para materializarlos y luego exportarlos. Puede implementar dicha función usando el enlace de arriba o crear su propia función haciendo algo que necesite.

