我在Oracle 11g的表,我需要刪除的號碼下面的所有實例有一個電話號碼列的表列:更新通過刪除字符串中的字符
(0)
這樣的例子是:+44 (0)1223 123456
- >+44 1223 123456
如何編寫更新語句以在括號中查找零並將其從每個表格行中刪除? 如果這有幫助,(0)
總是在所有行上處於相同位置。
我在Oracle 11g的表,我需要刪除的號碼下面的所有實例有一個電話號碼列的表列:更新通過刪除字符串中的字符
(0)
這樣的例子是:+44 (0)1223 123456
- >+44 1223 123456
如何編寫更新語句以在括號中查找零並將其從每個表格行中刪除? 如果這有幫助,(0)
總是在所有行上處於相同位置。
嘗試(對於Oracle)
REPLACE(telno,'(0)') as Telno
使用REPLACE()
功能:
update tablename
set phonecol = replace(phonecol, '(0)')
如果表是很大的,只有一些行會被更新,添加以下,以保持交易大小下來:
where phonecol like '%(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;
你並不需要使用「」,只是忽略了表達 – JohnHC
@JohnHC的一部分,謝謝你的提示。 (我不太瞭解Oracle。) – jarlh