CREATE FUNCTION dbo.fn_GetAWord (@RecordWord varchar(500))
RETURNS varchar(50)
AS
BEGIN
SET @RecordWord = SUBSTRING(@RecordWord, PATINDEX('%=%', @RecordWord) + 1, LEN(@RecordWord))
RETURN(SELECT SUBSTRING(@RecordWord, 1, CHARINDEX('^', @RecordWord) - 1))
END
-- Declaro mi tabla e inserto los registros para el ejemplo
DECLARE @MyTableVar table(Record varchar(500))
INSERT INTO @MyTableVar VALUES('jdjdfwe^ kdjsklfjsdkjfkl^ dfaklfjklasd^ INFORMACION=texto a extraer^ fkdsfkslj^ ldskffjjferierjf^ otra_palabra=fskkdsk^bgdf'),
('dsfdfgdf^ erty5756^ dffgtrrhd^ INFORMACION=sacar texto5^ fdg12gdf^ 34545tdfggsdgdff^ otra_palabra=24g5dg^ dfgdf ')
-- Ejecuto la funcion, para extraer las palabras
SELECT dbo.fn_GetAWord(Record) FROM @MyTableVar
-- Resultado
texto a extraer
sacar texto5