在SQL Server 2008中,我从下面的代码项目站点构建了一个正则表达式匹配和替换函数,并且运行良好。 http://www.codeproject.com/KB/string/SqlRegEx.aspx?msg=3683405#xx3683405xx。 这个功能基本上查阅栏文本,找到匹配并替换被替换的文本。我在这里使用了反向参考。从正则表达式返回文本插入SQL服务器
例如如果列1有 '的第一篇文章#345是由9999和发生在001 refered',它将返回 345#9999#001
select语句 选择COLUMN1,dbo.ufn_RegExReplace(列1,“(?\ d + )?(?\ d +)。?(?\ d +)。*?(?\ d +)','$ {First_number_match}#$ {Second_number_match}#Third_number_match',1)正常工作。
我想要将345#9999#001插入表格的三列中。
请注意,在我的实际问题中,我将不得不使用正则表达式。我简化了专家的注意力。
正如我们所知,正则表达式非常神经兮兮,并且使用SQL来增加它。所以我会很感激这方面的帮助。 感谢您的时间阅读此。
我不知道我是否理解你的问题。您是否想将345#9999#001分为三部分,并将每个部分插入不同的列?或者你想要在三列中的每一列中的完整字符串? – 2011-02-03 18:56:10
根据我所了解的链接中描述的功能,您应该使用函数ufn_RegExSplit而不是ufn_RegExReplace – Lamak 2011-02-03 19:21:14