This is great , I'm learning loads doing this.I have managed to get your SQL to work on my situation (see query below) but I have a slight problem.The original text in the Text field is this...(note there is a carriage return at the end of the first line)Utility Dug though Telco Fibre outside the Main POP affecting several sites.Working through the weekend to try to get it up again. The next four weeks are critical as there will be a lot of resource hungry applications being installed and the new influx of students is expected to be much higher than in previous years. notes end hereMy final product (being emailed through a rerport )is producing the following: (you can see the problem where the carriage return is)fault-summary: Utility Dug though Telco Fibre outside thefault-summary: Main POP affecting several sites.Workingfault-summary: through the weekend to try to get it upfault-summary: again. the next four weeks are critical asfault-summary: there will be a lot of resourec hungryfault-summary: application being installed and the newfault-summary: influx of students is expected to be muchfault-summary: higher than in previous years. notes endfault-summary: hereDECLARE @String VARCHAR(MAX), @Size TINYINT, @CallDescNote VARCHAR (MAX)SELECT @String = (Select CallDesc from Calllog where callid = '00167996'), @Size = 45 ;WITH Peso (Part, StartPos, Size) AS ( SELECT 1, 1, CAST(@Size - CHARINDEX(' ', REVERSE(LEFT(SUBSTRING(@String, 1, @Size) + ' ', @Size))) AS INT)UNION ALL SELECT Part + 1, StartPos + Size + 1, CAST(@Size - CHARINDEX(' ', REVERSE(LEFT(SUBSTRING(@String, StartPos + Size + 1, @Size) + ' ', @Size))) AS INT) FROM Peso WHERE StartPos + Size <= DATALENGTH(@String) ) SELECT @CallDescNote = (Select 'fault-summary: '+ SUBSTRING(@String, StartPos, Size) + Char(13) + Char(10)FROM Peso ORDER BY PartFOR XML PATH(''))update calllog set calldescnote = RTRIM(Replace(@calldescnote, '#x0D;', char(13)))from calllog where callid = '00167996'