2016-09-06 4 views
1

私は数字から、以下のすべてのインスタンスを削除する必要がOracle 11gのテーブルに電話番号の列を持って除去することにより、テーブルの列:更新文字列の文字

(0) 

ので例は次のようになります。+44 (0)1223 123456を - >+44 1223 123456

括弧内にゼロを見つけて各テーブル行から削除するにはどうすればよいですか? (0)は、すべての行で常に同じ位置にあります。 (Oracleの場合)

答えて

0

てみ

REPLACE(telno,'(0)') as Telno 
1

使用REPLACE()機能:テーブルが大きい、とだけ行の一部が更新されます

update tablename 
set phonecol = replace(phonecol, '(0)') 

場合は、トランザクションを保つために、次の追加サイズダウン:

where phonecol like '%(0)%' 
+0

あなたが使用する必要はありません「」、ちょうど表現 – JohnHC

+0

@JohnHCのその部分を無視し、先端に感謝。 (私はよくオラクルを知りません。) – jarlh

0
update tablename 
    set phonecol = regexp_replace(phonecol ,'[(0)]') 
where phonecol like '%(0)%' ; 
例えば、210

あなたは以下の使用して選択してみてくださいすることができます

select '+44 (0)1223 123456',regexp_replace('+44 (0)1223 123456','[(0)]') 
from dual; 
関連する問題