当执行下面的查询时,我得到“235”而不是预期结果“0”
select REGEXP_SUBSTR(000.235||'', '[^.]+', 1, 1) from dual;
最佳答案
改为执行此操作,您将看到问题出在哪里:
select 000.235||'' from dual
结果:
.235
正则表达式选择第一个最长出现的非句号,在这个字符串中是“235”,所以它工作正常;这是损坏的输入值
现在,如果你这样写,那就没问题了:
select REGEXP_SUBSTR('000.235', '[^.]+', 1, 1) from dual
那么为什么数字的呈现方式很奇怪?您表中的数据是什么样的?这不太可能是您正在运行的实际查询 - 如果您需要有关真实查询的帮助,请将其发布
关于sql - Oracle - REGEXP_SUBSTR 前导零被忽略的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45734967/