SQL Server 2008 では、以下のコード プロジェクト サイトから正規表現の一致と置換関数を作成しましたが、うまく機能しています。 http://www.codeproject.com/KB/string/SqlRegEx.aspx?msg=3683405#xx3683405xx . この関数は、基本的に列のテキストを検索し、一致を見つけて、置き換えられたテキストに置き換えます。ここでは後方参照を使用しました。
たとえば、Column1 に「最初の記事 #345 が 9999 によって参照され、001 に配置されている」場合、345#9999#001 が返されます。
select ステートメント Select column1, dbo.ufn_RegExReplace(Column1, '(?\d+). ?(?\d+). ?(?\d+).*?(?\d+)', '${First_number_match}#${ Second_number_match}#Third_number_match',1) は正常に動作しています。
私が欲しいのは、テーブルの 3 つの列に 345#9999#001 を挿入することです。
私の実際の問題では、正規表現を使用する必要があることに注意してください。専門家が問題に集中できるように簡略化しました。
私たちが知っているように、正規表現は神経をすり減らすものであり、SQL で使用するとそれに追加されます。だから私はこれに関する助けに感謝します。これを読んでくれてありがとう。