a function would look like this:
CREATE FUNCTION dbo.ExtractData(@NumStr varchar(1000))
RETURNS VARCHAR(1000)
AS
BEGIN
--SET @NumStr = 'Seg. Caracas Misc. XL 3rd Layer (1.01: VX - CARGO ALL RISKS EXCLUDING WAR ONLY RISKS)'
WHILE PATINDEX('%[^(0-9)]%',@NumStr)> 0
SET @NumStr = REPLACE(@NumStr,SUBSTRING(@NumStr,PATINDEX('%[^(0-9)]%',@NumStr),1),'')
SET @numstr = left(substring(@NumStr,charindex('(',@numstr)+1,(charindex(')',@numstr,charindex('(',@numstr)+1)-1)),len(substring(@NumStr,charindex('(',@numstr)+1,(charindex(')',@numstr,charindex('(',@numstr)+1)-1)))-1)
RETURN @numstr
END
and use it like this:
select dbo.ExtractData('Seg. Caracas Misc. XL 3rd Layer (1.01: VX - CARGO ALL RISKS EXCLUDING WAR ONLY RISKS)'
or
select yourfield, dbo.ExtractData(yourfield) from yourtable