我的表中有以下列值,名为TEST,并希望像这样替换这些值:
XX01 - > XX1
XX02 - > XX2
XX03 - > XX3
XX04 - > XX4
XX01 / ABC - > XX1 / ABC
实际意思是,我想通过用空字符串替换它来删除0。
我已经使用了oracle REPLACE函数(其他情况):
REPLACE(column_name,' 0','')
但是对于这种情况,这不起作用,因为我有其他值,包含0,但不能更改。
如何在oracle中使用reg表达式以适当的方式替换零?
我希望你明白我的观点并抱歉格式不好。
欢呼声
答案 0 :(得分:0)
使用
regexp_replace(yourValue,'(XX)0([0-4])(*)', '\1\2\3')
它将适用于您指定的所有情况......如果后面跟着另一个数字,它将仅替换0,就像您拥有的那样。如果您的0后面没有数字,则不会被替换。
不确定它是否正是您想要的,因为您没有告诉我们“其他0不允许的值”是什么样的..