Seperti Anda .net
developer Saya rasa akan mudah bagi Anda untuk menulis .net
fungsi yang dapat Anda gunakan di T-SQL
Anda kode. Untuk menulis SQL CLR
fungsi periksa jawaban ini
(Saya telah menggunakan salah satu tautan untuk mengimplementasikan SQL CLR
fungsi ekspresi reguler.
Katakanlah Anda perlu membagi nilai dengan potongan 4-panjang dan menampilkan maksimum 6 di antaranya:
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;
Sekarang data dibagi. Mari pivot
itu dan tampilkan hanya 6 bagian:
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;
Disini saya menggunakan regex
berfungsi untuk membagi data dan PIVOT
untuk membuat kolom dan mengecualikan beberapa potongan. Anda sekarang dapat memasukkan data ke dalam tabel untuk mewujudkannya dan kemudian mengekspornya. Anda dapat mengimplementasikan fungsi tersebut menggunakan tautan di atas atau membuat fungsi Anda sendiri dengan melakukan sesuatu yang Anda butuhkan.