我在Oracle 11g表中有一个电话号码列,我需要从数字中删除以下所有实例:
(0)
示例如下:+44 (0)1223 123456
- > +44 1223 123456
如何编写更新语句以在括号中找到零并从每个表行中删除它?
如果这有帮助,(0)
总是在所有行上处于相同的位置。
答案 0 :(得分:1)
使用REPLACE()
功能:
update tablename
set phonecol = replace(phonecol, '(0)')
如果表格很大,并且只会更新部分行,请添加以下内容以保持交易规模下降:
where phonecol like '%(0)%'
答案 1 :(得分:0)
尝试(针对Oracle)
REPLACE(telno,'(0)') as Telno
答案 2 :(得分:0)
update tablename
set phonecol = regexp_replace( phonecol ,'[(0)]')
where phonecol like '%(0)%' ;
例如,您可以尝试使用以下选项:
select '+44 (0)1223 123456',regexp_replace( '+44 (0)1223 123456','[(0)]')
from dual;