需要在下面的sql查询中返回空字符串行而不是空行

bbmckpt7  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(276)
SELECT regexp_substr('Apple,Orange,Mango,Grapes','[^,]+',1,level) regexp_substr

FROM dual

  CONNECT BY level<=regexp_count('Apple,Orange,Mango,Grapes',',')+1;

这将返回结果:苹果橙芒果葡萄
如果我们传递空字符串

SELECT regexp_substr('','[^,]+',1,level) regexp_substr

FROM dual

  CONNECT BY level<=regexp_count('',',')+1;

返回结果:(null)
如果输出为null,我希望结果为-1。
有人能帮忙吗?

sqyvllje

sqyvllje1#

在oracle中,您可以使用nvl检查空值并获取值,例如:

NVL(regexp_substr('','[^,]+',1,level)), -1)

NVL(regexp_substr('','[^,]+',1,level)), '-1')

相关问题