私はホスト名情報を含むことができる[メッセージ]列を持っています。私はこれを行うために書いた別のパターンの後にSQL Serverの文字列インスタンスを置き換える方法はありますか?
声明は:
update table1
set message = replace(replace(message ,'RL','NN'),'.COMPANY.COM','')
where message is not NULL
のでRL12345.COMPANY.COMとして表示されますホスト名はNN12345として返されます。
「RL」がメッセージ列の他の場所に表示されると、誤って置き換えられるという問題があります。条件付きで正規表現を使用して置き換える方法はありますか? RLと.COMPANY.COMの間の数字の数が常に7-9の間であることを確認できました。
明確にするために、RLは常にホスト名文字列の先頭になりますが、メッセージ列内の文字列全体の先頭にはなりません(おそらくそうではありません)。
例えば:
は、1つのセルに複数のホスト名のインスタンスがあるかもしれません
「ノー成功しRL12345.COMPANY.COMにアクセスしようとしました」、すべてのインスタンスがtansformedする必要があります。文字列'- RL'
探し
でのみ「RL」を更新して、更新、複数の時間を実行する必要があります」キャラクター? –
はい、RLは常にホスト名の最初の2文字であるため、常に最初の2文字になります。文字 – alexmc
申し訳ありませんが、明確にするために - それは最初に先行します。文字ではなく、必ずしも文字列全体ではありません。 – alexmc