2
這是我需要完成的一個時髦匹配。Oracle SQL Regexp_replace匹配
A5.1.9.11.2
需求,成爲:
A05.01.09.11.02
DOT部分的金額從沒有改變很多。字母「A」將永遠在那裏,總是有1個字符。
我想使用regexp_replace()函數來使用它作爲排序機制。謝謝。
這是我需要完成的一個時髦匹配。Oracle SQL Regexp_replace匹配
A5.1.9.11.2
需求,成爲:
A05.01.09.11.02
DOT部分的金額從沒有改變很多。字母「A」將永遠在那裏,總是有1個字符。
我想使用regexp_replace()函數來使用它作爲排序機制。謝謝。
的Oracle SQL不支持環視斷言,這將對於這種情況下是有用的:
s/([0-9](?<![0-9]))/0\1/g
你必須使用至少兩種替代品:
REGEXP_REPLACE(REGEXP_REPLACE(col, '([0-9]+)', '0\1'), '0([0-9]{2})', '\1')
+1我擱淺關於環視問題。使用兩個REGEXP_REPLACE()調用並不直觀,但它確實有效。 – APC