オラクルの正規表現に小さな問題があります。
文字列形式の 3 つのケースを含む次のような表があります。
私のテーブルでは、col1 は私が持っている文字列を保持し、col2 はターゲットです。
Case 1: W1234W4321
Case 2: W1234,W4321
Case 3: W1234/W4321
(長さと実数は異なります)
これで、この小さな正規表現をセットアップしました: [\d,/]W.*
10 進数、コンマ、スラッシュの後の 2 つの値を分離します。
ツール RegExBuddy で結果をテストしましたが、結果は期待どおりです。
次のクエリでテーブルを更新すると、ケース 2 と 3 が更新され、ケース 1 は列 2 でまだ null です。
update nyTable set col2 = regexp_substr(col1, '[\d,/]W.*');
これはオラクルに関連する問題ですか(おそらく理解していません\d
)?