我有一個字符串像提取一定的規律與Oracle SQL
with xx as (
select 'id9' idno,'untest X456789,W357987 and Q321089 cont group' test from dual)
select * from xx
有一些thosand行類似下面的
IDNO | TEST
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
id9 | untest X456789,W357987 and Q321089 cont group
我想提取與一個字母后跟6開頭的單詞數字。此外,應該有它們之間用逗號(因爲以後我將它們放置到多個行)
結果表:
IDNO | TEST
+++++++++++++++++++++++++++++++++++++++++
id9 | X456789,X321678,W357987,Q321089
我已經試過regexp_replace
,但未能達成一個解決方案。
select idno, REGEXP_replace(test,'([^[A-Z]{1}[:digit:]{6},?])') AS test from xx
你確定你的數據庫是正常的嗎? –
這是一個有目的地非規範化的OLAP環境。 (少連接,更乾淨的代碼)。上表是從第三方機構收到的,不幸的是我們根本沒有機會根據我們的需求進行格式化。 – bonsvr
沒關係,只要它是有意的,而不是對標準化的理解不夠。祝你好運! :) –