sql - Oracle - REGEXP_SUBSTR 前导零被忽略的问题

标签 sql regex oracle

当执行下面的查询时,我得到“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/

相关文章:

sql - 如何从oracle服务器的分区表中获取分区列名

javascript - 匹配列表与给定的单词由给定的分隔符列表与单个正则表达式分隔?

regex - 在 Google Data Studio 中创建新指标以仅计算品牌 KW 展示次数

database - Postgres 和 Oracle 数据库维护插入顺序吗?

sql - Oracle 查询 all_tab_columns.data_default(类型 LONG)

php - 按其他表中的标题对结果进行分组

sql - Excel 2010 32 位 Windows 7 64 位 odbc-连接问题

mysql - sql选择日期范围明年问题

php - `$/i` 在正则表达式中的含义

oracle - Oracle执行计划