0

我在名为 TEST 的表中有以下列值,并希望像这样替换这些值:

XX01 -> XX1

XX02 -> XX2

XX03 -> XX3

XX04 -> XX4

XX01/ABC -> XX1/ABC

这实际上意味着,我想通过用空字符串替换它来删除 0 。

我已经像这样使用过 oracle REPLACE 函数(其他情况):

替换(列名,'0','')

但对于这种情况,这将不起作用,因为我有其他值,包含 0,但不能更改。

如何在 oracle 中使用 reg 表达式以适当的方式替换零?

我希望你明白我的意思,并对格式错误感到抱歉。

干杯

4

1 回答 1

0

利用

regexp_replace(yourValue,'(XX)0([0-4])(*)', '\1\2\3')

它适用于您指定的所有情况......如果它后面跟着另一个数字,它只会替换 0,就像您所拥有的情况一样。如果您的 0 后面没有数字,则不会被替换。

不确定这是否正是您想要的,因为您没有告诉我们“不允许的其他 0 值”是什么样的。

于 2015-01-14T13:43:27.767 回答