Nói chung, tôi khuyên bạn nên viết một hàm CLR chia chuỗi bằng hàm regex hoặc hàm có giá trị bảng SQL, nhưng trong trường hợp của bạn, bạn có thể thử một cái gì đó đơn giản như chuyển đổi chuỗi của bạn thành xml và phân tích cú pháp nó:
declare @str nvarchar(max) = 'date=10/10/2000|age=13^date=01/01/2001|age=12^date=02/02/2005|age=8'
declare @data xml
select @str = replace(@str, '=', '="')
select @str = replace(@str, '|', '" ')
select @str = replace(@str, '^', '"/><row ')
select @str = '<row ' + @str + '"/>'
select @data = cast(@str as xml)
select
t.c.value('@date', 'nvarchar(max)') as [date],
t.c.value('@age', 'nvarchar(max)') as [age]
from @data.nodes('row') as t(c)