あなたは.net
です 開発者.net
を書くのは簡単だと思います T-SQL
で使用できる関数 コード。 SQL CLR
を作成するには 関数はSQL CLR
を実装しました 正規表現関数。
値を4つの長さのチャンクで分割し、最大6つを表示する必要があるとします。
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;
これで、データが分割されます。 pivot
しましょう それとチャンクの6つだけを表示します:
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;
ここではregex
を使用します データとPIVOT
を分割する関数 列を作成し、一部のチャンクを除外します。これで、データをテーブルに挿入して実体化し、エクスポートすることができます。上記のリンクを使用してこのような関数を実装するか、必要なことを実行する独自の関数を作成できます。