在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