Oracle pl / sqlで次のコードを使用しています(バージョン:Oracle Database 11gリリース11.2.0.1.0)
select regexp_substr('A~B~C','[^~]+',1,level) output
from dual
connect by level <= length(regexp_replace('A~B~C','[^~]+')) + 1
これにより、次の結果が得られます
row1: A
row2: B
row3: C
これは完璧ですが、null値を指定する必要があります。つまり、次のようになります。
select regexp_substr('~B~C','[^~]+',1,level) output
from dual
connect by level <= length(regexp_replace('~B~C','[^~]+')) + 1
私は次のことを期待し、望んでいました。
row1: <null>
row2: B
row3: C
しかし、この出力を得ました:
row1: B
row2: C
row3: null
pl / sqlコードを間違って実行していますか?どうすれば正しく機能させることができますか?