A Microsoft extension to the ANSI SQL language that includes procedural programming, local variables, and various support functions.
DECLARE @alrt Table (ID int , Notes varchar(max))
Insert into @alrt
Values
(1 , 'Date1: 01/01/2012 | Name: John | Date2: 01/31/2012 | Insurance: Yes | Status: Active'),
(2 , 'Date1: 01/12/2012 | Name: Danny | | | Status: ' ),
(3 , 'Date1: 01/15/2012 | Name: Justin | | | Status: Active'),
(4 , 'Date1: 01/21/2012 | Name: Kole | Date2: 01/23/2012 | |Status: Active'),
(5 , 'Date1: 01/21/2012 | Name: Duke | Date2: 01/25/2012 | |')
--select * from @alrt
;WITH MultipleColums
AS (
SELECT Notes
,CAST('<x>' + REPLACE(Notes, '|', '</x><x>') + '</x>' AS XML) AS Parts
FROM @alrt
)
SELECT Notes
, Replace ( Parts.value(N'/x[1]', 'varchar(50)'), 'Date1: ','' ) AS [Date1]
,Replace (Parts.value(N'/x[2]', 'varchar(50)') , 'Name: ','' ) as [Name]
,Replace (Parts.value(N'/x[3]', 'varchar(50)') , 'Date2: ','' ) as [Date2]
,Replace (Parts.value(N'/x[4]', 'varchar(50)') , 'Insurance: ','' ) as Name
,Replace ( Parts.value(N'/x[5]', 'varchar(50)') , 'Status: ','' ) as Name
FROM MultipleColums;