所以,我有像一塊簡單的SQL:REGEXP_SUBSTR不能按預期工作
select
REGEXP_SUBSTR (randomcol, '[^|]+', 1, 2)
||'|'|| REGEXP_SUBSTR (randomcol, '[^|]+', 1, 3)
||'|'|| REGEXP_SUBSTR (randomcol, '[^|]+', 1, 4)
from table1 where ADDTL_DETAIL_INFO is not null and module_key='01-07-2016 00:00:00/2212/ 1';
的想法是讓存在於randomcol列管分離值,其中存在的價值是:
~custom|HELLO1||HELLO3
所以我需要像HELLO1這樣的值,空格(因爲第二個管道和第三個管道之間沒有數值)和HELLO3。
但是,當我跑上面的查詢它返回:
HELLO1|HELLO3|
和白色的空間也沒有了。我需要這個空白空間來保留。那麼我在這裏做錯了什麼?
你沒有做錯什麼,Oracle是 - 通過將空字符串視爲null。在遙遠的未來,甲骨文將會倒閉,或者他們會解決這個問題(以先到者爲準)。 – mathguy