在Sql server中分解一个字符串

时间:2014-01-22 18:33:11

标签: sql-server tsql replace

我有一个存储过程(此SP用于通过在大文本文档中搜索该内容来用新内容替换现有内容)。新内容和现有内容将作为参数发送给SP。 将参数视为

@oldContent varchar(100),
@newContent varchar(100),
@WholeContent varchar(500),

在存储过程中,我们有一个替换函数,它将被称为

set @ WholeContent = REPLACE(@WholeContent, @oldContent, @newContent)

它工作正常,

现在业务发生了变化,诀窍是我们将有多个旧值(将作为单个参数发送) 将发送的值如下所示 例如,

oldContent = ‘sa[abc]f[wes]’
newContent =’sam’

新内容只有1个值'sam' ,但旧内容可以有不同的值,此示例中发送的旧值为sa [abc] f [wes] 现在我们应该将旧内容分解为saafw,sabfw,......... .. sacfs ....(共9条) 然后我们调用函数replacefunction,用新的函数替换oldconetnt(由所有组合创建的文本).... 所以,

set @ WholeContent = REPLACE(@WholeContent, @oldContent, @newContent)

这应该被多次调用。

正在研究如何将旧值分解为不同的值并以非常有效的方式调用replace函数。 是否存在可以对其进行分解并给出不同组合的功能构建?

1 个答案:

答案 0 :(得分:1)

除非您正在执行单个Sql-Server应用程序,否则只能在Sql-Server环境中运行,您应该实现Regular Expression,这可能是由您的语言/框架通过某些API提供的。