在 SQL Server 2008 中,我从下面的代码项目站点构建了一个正则表达式匹配和替换函数,并且运行良好。 http://www.codeproject.com/KB/string/SqlRegEx.aspx?msg=3683405#xx3683405xx。这个函数基本上是查找列文本,找到匹配并用替换的文本替换。我在这里使用了反向引用。
例如,如果 Column1 有“第一篇文章 #345 被 9999 引用并放置在 001 中”,它将返回 345#9999#001
选择语句 Select column1, dbo.ufn_RegExReplace(Column1, '(?\d+). ?(?\d+). ?(?\d+).*?(?\d+)', '${First_number_match}#${ Second_number_match}#Third_number_match',1) 工作正常。
我想要的是将 345#9999#001 插入到表的三列中。
请注意,在我的实际问题中,我将不得不使用正则表达式。我简化了专家以专注于该问题。
正如我们所知,正则表达式令人伤脑筋,并且与 SQL 一起使用会增加它。因此,我将不胜感激这方面的任何帮助。感谢您花时间阅读本文。