How can I get some text between two known words?
Sub-select example:
(SELECT TOP(1)Note
FROM Clients
WHERE (ID=@ID) AND (Note IS NOT NULL) AND (Note NOT
CREATE FUNCTION [dbo].[fnSplitString]
(
@string NVARCHAR(MAX),
@id int , ,
@sword varchar(30) ,
@delimiter varchar(30)
)
RETURNS @output TABLE(splitdata NVARCHAR(MAX) , id int
)
BEGIN
DECLARE @start INT, @end INT
declare @start1 varchar(100)
set @start1 = @sword
declare @end1 varchar(100)
set @end1 = @delimiter
SELECT @start = 1, @end = CHARINDEX(@delimiter, @string) + Len(@delimiter) - 1
WHILE @start < LEN(@string) + 1 BEGIN
IF @end = 0
SET @end = LEN(@string) + 1
INSERT INTO @output (splitdata , id)
VALUES(substring( LEFT((SUBSTRING(@string, @start, @end - @start)), charindex(@end1, (SUBSTRING(@string, @start, @end - @start)), CHARINDEX(@start1, (SUBSTRING(@string, @start, @end - @start))))-1), CHARINDEX(@start1, (SUBSTRING(@string, @start, @end - @start))) + len(@start1), LEN((SUBSTRING(@string, @start, @end - @start)))) ,@id )
SET @start = @end + 1
SET @end = CHARINDEX(@delimiter, @string, @start)+ Len(@delimiter) - 1
END
RETURN
END
Select note , fnSplitString (note , id ,'startword', 'endword') from clients