SELECT SUBSTRING(@x,28+CHARINDEX ('CustomerFornm: Changed from ',@x),CHARINDEX('CustomerDOB',@X,1)-77) AS 'Is this really what you want?'Result:Is this really what you want?Harry to Ben
SELECT SUBSTRING(@var,28+CHARINDEX ('CustomerFornm: Changed from ',@var),CHARINDEX('CustomerDOB',@var)- CHARINDEX ('CustomerFornm: Changed from ',@var)-28) AS 'Is this really what you want?'
SELECT d.MyString, a.p1, b.p2, x.p1, y.p2, OldForename = SUBSTRING(d.MyString,a.p1,b.p2-a.p1), NewForename = SUBSTRING(d.MyString,x.p1,y.p2-x.p1) FROM ( SELECT MyString = 'CustomerSurnm: Changed From ''Smith'' to ''John-Smith'' CustomerFornm: Changed From ''Harry'' to ''Ben'' CustomerDOB Changed from ''12/12/1978'' to ''12/12/1979''') d -- sample table sourceCROSS APPLY (SELECT p1 = 1 + LEN('CustomerFornm: Changed From ') + CHARINDEX('CustomerFornm: Changed From',d.MyString,1)) aCROSS APPLY (SELECT p2 = CHARINDEX(' ',d.MyString,a.p1+1)) bCROSS APPLY (SELECT p1 = b.p2+1+LEN(' to ')) xCROSS APPLY (SELECT p2 = CHARINDEX(' ',d.MyString,x.p1+1)) y