2010-11-04 65 views
0

有誰知道是否可以替換標記內的文本。替換MSSQL中標記內的文本

例如...

If I had a row that contains this text, I would want this text to be outputted but I would want <hidden>This text to not be selected</hidden>

任何想法?

+0

你的意思是你想替換兩個隱藏標籤之間的文本嗎? – DForck42 2010-11-04 15:37:37

回答

1

您需要對值進行某種形式的自定義分析以刪除這些部分。

性能方面,如果您在TSQL中執行,性能可能並不好。 SQLCLR可能會嘗試這個(更好的字符串操作等),或者在調用代碼中完全在SQL之外進行替換。

0

按照AdaTheDev,似乎SQLCLR是要走的路。我在T-SQL regex上做了一個快速谷歌,並且出現了一個確認它爲2005的MS鏈接。

1

另外兩個人說,T-SQL不是最好的方法。如果你真的想雖然你例如,你可以這樣做:

DECLARE @String varchar(1000) 

SET @String = 'If I had a row that contains this text, I would want this text to be outputted but I would want <hidden>This text to not be selected</hidden>' 

SELECT LEFT(@string, (CHARINDEX('<Hidden>',@string)-1)) + (RIGHT(@string, ((LEN(@String) -(CHARINDEX('</Hidden>', @String))))+1-(LEN('</hidden>')))) 

這應該是一個很好的激勵,以做這種方式。