0

ここで問題があります。私のデータベースでは、次のmobile_phoneような列に値があります628932323が、使用するすべての行を変更したいです62 to 0

old value : 628932323
new value : 08932323

誰かが私の問題を解決するのを手伝ってくれますか? ありがとう

4

1 に答える 1

1

Oracle 10g 以降を使用している場合は、regexp_replace 関数http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htmを使用できます。

select regexp_replace(your_column, '62([:digit:]*)', '0\2')
from your_table;

または、次のことを行わない、より昔ながらの方法:

select case
         when your_column like '62%' then '0' || substr(your_column, 3)
       else
         your_column
       end
from your_table;

電話番号の文字列の先頭のスペースやその他の文字には注意してください。

于 2012-10-31T08:26:28.433 に答える