Sql server Sql server中字符串的分解
我有一个存储过程(此SP用于通过在大文本文档中搜索现有内容,用新内容替换现有内容)。新内容和现有内容将作为参数发送到SP。 考虑参数为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) 而且
@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)