Попробуйте это решение, используя рекурсивный CTE:
DECLARE @var varchar(max) = 'ROOT(10) AS TEN, ROOT(50) AS FIFTY, ROOT(70) AS SEVENTY'
;WITH CTE AS (
SELECT STUFF([var], patIdx, idx - patIdx, '') [var], 1 [rn]
FROM (
SELECT @var [var], PATINDEX('%ROOT([0-9]%) AS %', @var) patIdx, CHARINDEX(' AS ', @var) + 4 idx
) a
UNION ALL
SELECT STUFF([var], patIdx, idx - patIdx, ''), [rn] + 1
FROM (
SELECT [var], PATINDEX('%ROOT([0-9]%) AS %', [var]) patIdx, CHARINDEX(' AS ', [var]) + 4 idx, [rn] FROM CTE
) a
WHERE PATINDEX('%ROOT([0-9]%) AS %', [var]) > 0
)
SELECT TOP 1 [var] FROM CTE
ORDER BY [rn] DESC