Sql server Sql server中字符串的分解

Sql server Sql server中字符串的分解,sql-server,tsql,replace,Sql Server,Tsql,Replace,我有一个存储过程(此SP用于通过在大文本文档中搜索现有内容,用新内容替换现有内容)。新内容和现有内容将作为参数发送到SP。 考虑参数为 @oldContent varchar(100), @newContent varchar(100), @WholeContent varchar(500), 在存储过程中,我们有一个replace函数,它将被调用 set @ WholeContent = REPLACE(@WholeContent, @oldContent, @newContent) 而且

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

@oldContent varchar(100),
@newContent varchar(100),
@WholeContent varchar(500),
在存储过程中,我们有一个replace函数,它将被调用

set @ WholeContent = REPLACE(@WholeContent, @oldContent, @newContent)
而且效果很好

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

oldContent = ‘sa[abc]f[wes]’
newContent =’sam’
新内容将只有一个值,例如“sam” ,但旧内容可以有不同的值,本例中发送的旧值为sa[abc]f[wes] 现在,我们应该将旧内容分解为saafw、sabfw……SACF……(共9个) 然后我们调用函数replacefunction,它将旧的connett(由所有组合创建的文本)替换为新的。…。 所以

这应该被多次调用

我们正在研究如何将旧值分解为不同的值,并以非常有效的方式调用replace函数。
是否有任何内置函数可以分解相同的内容并提供不同的组合?

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

首先,我不确定我是否同意这是SQL Server的工作。它在很多方面都很好,但即使没有最原始的正则表达式支持,这也不是其中之一。
set @ WholeContent = REPLACE(@WholeContent, @oldContent, @newContent)