forme, a CTE that pulls out the charindexes makes it easier for me to understand.
With tblDoc([FROM])
AS
(
SELECT 'John Doe1 <John.Doe1@abcd.com>' UNION ALL
SELECT 'John Doe2 <John.Doe2@abcd.com>' UNION ALL
SELECT 'John Doe3 <John.Doe3@abcd.com>' UNION ALL
SELECT 'Lowell Mumble Mumble <Lowell@somedomain.com>'
),
tblDoc2
As
(
SELECT
CHARINDEX('<', [From]) As LeftBracket,
CHARINDEX('>', [From]) As RightBracket,
[FROM]
FROM tblDoc
)
SELECT SUBSTRING([From],LeftBracket +1,RightBracket - (LeftBracket +1)),*
FROM tblDoc2
Lowell