URLを含む列を持つ行の数を含むテーブルがあります。 URLは次の形式です。
http://one.example1.com:9999/dotFile.com
:9999以降をすべて保持しながら、その列のすべての一致をhttp://example2.com/dotFile.com
に置き換えたいと思います。 regexp_matchesとregexp_replaceについてのドキュメントをいくつか見つけましたが、頭を完全に包むことはできません。
uRLがわかっている場合は、正規表現を使用する必要はありません。 replace()関数が機能するはずです:
replace(string text, from text, to text)
Replace all occurrences in string of substring from with substring to
example: replace('abcdefabcdef', 'cd', 'XX') abXXefabXXef
あなたが試すことができます:
replace(yourcolumn, 'one.example1.com:9999','example2.com')
固定文字列を置き換えるには、単純なreplace()
関数を使用します。
動的な文字列を置き換えるには、次のようにregexp_replace()
を使用できます。
UPDATE
YourTable
SET
TheColumn = regexp_replace(
TheColumn, 'http://[^:\s]+:9999(\S+)', 'http://example2.com\1', 'g'
)