使用しているSQLのバージョンは?いくつかのバージョンのSQL(ほとんど?)は正規表現をサポートしていません。
私の知る主なアプローチ(例えばでは、MS SQL Serverが)あなたが興味を持っている状況をチェックし、実際に文字列全体を解析関数を記述することであり、以下のように置き換えると、必要。
これはマルチステートメント機能であるため、独自のオーバーヘッドがあります。これはワンオフのように聞こえるので、それはあまりにも悪くはありません。
最高の低レベルの言語では避けるが、より高いレベルの言語で、おそらく適している別のアプローチ、...
することで、交換したくないすべての回出てくる検索と置換しますそれらは保持パターンを持つ。(このパターンは、データに存在していないことがわかっている必要があります)。置換を行い、保持パターンを元の文字列に戻します。
Start = abc "abc" 'abc'
Step1 = abc "xxx" 'abc' -- REPLACE('"abc", '"xxx"', start)
Step2 = abc "xxx" 'xxx' -- REPLACE('''abc''', '''xxx''', step1)
Step3 = ??? "xxx" 'xxx' -- REPLACE('abc', '???', step2)
Final = ??? "abc" 'abc' -- REPLACE('xxx', 'abc', step3)
「abc」のみか、「Foo abc Bar」でもかまいませんか? – stema
エスケープされた見積もりはどうですか? \ "\ '? – FailedDev
' 'abc''(二重引用符と一重引用符)はどうですか? – Toto