2013-04-12 42 views
0

我有這樣SQL Server - 如何插入子串?

`...<..../><... id='someID' .../><...../>....` 

的字符串(即字符串的總長度超過15K字符,這是一個XML形式的定義)

內該字符串的我有someID值。我想包含該值一個新的字符串元素後放:

...<..../><... id='someID' .../><my_new_string><...../>.... 

我試圖拆分長字符串基礎上someID值,但該方法是太慢了。我怎樣才能以其他方式實現這一目標?

或者也許有可能選擇子字符串<... id='someID' .../>

回答

0

您是否嘗試過使用Replace?例如:

REPLACE(yourString, yourPattern, yourPattern + newString); 

使用你的榜樣,它看起來是這樣的:

REPLACE('...<..../><... id='someID' .../><...../>....', 
     '<... id=''someID'' .../>', 
     '<... id=''someID'' .../><my_new_string>'); 

請注意我逃圍繞 「someID」 的「字。

此致敬禮。

1

SQL服務器可以使用XML。你不需要使用子字符串。 一個simular問題終於解決了這個網頁上:xml.modify

0

目前尚不清楚哪些數據輸入您的字符串是:xml(n)varchar?對於xml,可以使用各種data type methods;爲(n)varcharSTUFF() function將一個字符串插入另一個字符串中。