So wie Sie .net
sind Entwickler Ich schätze, es wird Ihnen leicht fallen, ein .net
zu schreiben Funktion, die Sie in Ihrem T-SQL
verwenden können Code. Um SQL CLR
zu schreiben Funktionen überprüfen Sie diese Antwort
(Ich habe einen der Links verwendet, um SQL CLR
zu implementieren Regex-Funktion.
Angenommen, Sie müssen die Werte in 4-teilige Abschnitte aufteilen und maximal 6 davon anzeigen:
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;
Jetzt werden die Daten aufgeteilt. Lassen Sie uns pivot
es und zeigen nur 6 der Chunks:
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;
Hier verwende ich regex
Funktion zum Teilen der Daten und PIVOT
um Spalten zu erstellen und einige der Chunks auszuschließen. Sie können jetzt die Daten in die Tabelle einfügen, um sie zu materialisieren und dann zu exportieren. Sie können eine solche Funktion über den obigen Link implementieren oder Ihre eigene Funktion erstellen, um etwas zu tun, was Sie brauchen.