diff --git a/PROMS/SQL/PROMS2010.SQL b/PROMS/SQL/PROMS2010.SQL index e9a27fea..2580d9c0 100644 --- a/PROMS/SQL/PROMS2010.SQL +++ b/PROMS/SQL/PROMS2010.SQL @@ -10363,33 +10363,6 @@ GO IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FirstLink]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) DROP FUNCTION [vefn_FirstLink]; GO - -/* -select .dbo.vefn_FirstLink('asdasdadsasd' + char(21) + 'asdasdasd\vasdasdasd', 2) -select .dbo.vefn_FirstLink('asdasdadsasd' + char(21) + 'asdasdasd\vasdasdasd', 1) -select .dbo.vefn_FirstLink('asdasdadsasd' + char(21) + 'asdasdasd\vasdasdasd', 0) -*/ - -CREATE FUNCTION [dbo].[vefn_FirstLink](@text nvarchar(MAX),@includeLink int) -RETURNS int -WITH EXECUTE AS OWNER -AS -BEGIN -DECLARE @index int -SET @index = 0 -if(@includeLink = 2) - RETURN 0 -if(@includeLink = 1) - return CHARINDEX('\v' , @text) -DECLARE @index2 int -SET @index = PATINDEX('%[' + nchar(9574)+nchar(9516)+nchar(21) + ']%',@text) -return @index -END -GO --- Display the status of Proc creation -IF (@@Error = 0) PRINT 'ScalarFunction Creation: vefn_FirstLink Succeeded' -ELSE PRINT 'ScalarFunction Creation: vefn_FirstLink Error on Creation' -GO /****** Object: StoredProcedure [vefn_FixSearchString] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FixSearchString]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) @@ -10603,13 +10576,11 @@ AS BEGIN DECLARE @index int DECLARE @index2 int -SET @index = .dbo.vefn_FirstLink(@text,@includeLink) -while (@index != 0) - BEGIN - SET @index2 = CHARINDEX('\v0' , @text) - SET @text = substring(@text,1,@index-1) + substring(@text,@index2+3,len(@text)) - SET @index = .dbo.vefn_FirstLink(@text,@includeLink) - END +-- Strip Links +IF @includeLink = 0 -- Remove Links + SET @text = [dbo].[vefn_RemoveRange](@text,'') +IF @includeLink < 2 -- Remove Comments + SET @text = [dbo].[vefn_RemoveRange](@text,'\v' ,'\v0') if(@includeRtfFormatting=0) -- Remove Rtf Formatting BEGIN @@ -10675,6 +10646,49 @@ IF (@@Error = 0) PRINT 'ScalarFunction Creation: vefn_RemoveExtraText Succeeded' ELSE PRINT 'ScalarFunction Creation: vefn_RemoveExtraText Error on Creation' GO +/****** Object: StoredProcedure [vefn_RemoveRange] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_RemoveRange]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) + DROP FUNCTION [vefn_RemoveRange]; +GO + +/* +SELECT ContentID, text, [dbo].[vefn_RemoveRange](text,'') StrippedText +from contents +where contentid in (select top 25 ContentID from contents where text like '%[[]END>%') + +select top 25 * from contents where text like '%[[]END>%' + +SELECT ContentID, [dbo].[vefn_RemoveRange](text,'') StrippedText +from contents +where contentid =189 +*/ + +CREATE FUNCTION [dbo].[vefn_RemoveRange](@text nvarchar(MAX),@startToken nvarchar(MAX), @endToken nvarchar(MAX)) +RETURNS varchar(MAX) +WITH EXECUTE AS OWNER +AS +BEGIN + DECLARE @index int + DECLARE @index2 int + DECLARE @lenStartToken int + DECLARE @lenEndToken int + SET @lenStartToken = len(@startToken) + SET @lenEndToken = len(@endToken) + SET @index = CHARINDEX(@startToken , @text) + while (@index != 0) + BEGIN + SET @index2 = CHARINDEX(@endToken , @text, @index + @lenStartToken) + SET @text = substring(@text,1,@index-1) + substring(@text,@index2+@lenEndToken,len(@text)) + SET @index = CHARINDEX(@startToken , @text) + END + RETURN @text +END +GO +-- Display the status of Proc creation +IF (@@Error = 0) PRINT 'ScalarFunction Creation: vefn_RemoveRange Succeeded' +ELSE PRINT 'ScalarFunction Creation: vefn_RemoveRange Error on Creation' +GO + /****** Object: StoredProcedure [vefn_SiblingAndChildrenItems] ******/ IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_SiblingAndChildrenItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) DROP FUNCTION [vefn_SiblingAndChildrenItems];