I have column by the name of phone_number and it consists different types of numbers for example:
| phone_number |
|---|
| 078912354 |
| 93784385483 |
| 009378248448 |
| 776868886 |
So I want to remove all the initial numbers which starts with(0,93,0093). The expected result which I want is:
| phone_number |
|---|
| 78912354 |
| 784385483 |
| 78248448 |
| 776868886 |
CodePudding user response:
Here's one option:
Sample data:
SQL> select * from test order by phone_number;
PHONE_NUMBER NEW_PHONE_NUMBER
------------ --------------------
009378248448
078912354
776868886
93784385483
Remove leading characters you mentioned:
SQL> update test set
2 new_phone_number = regexp_replace(phone_number, '^(0093|093|93|0)');
4 rows updated.
Result:
SQL> select * from test order by phone_number;
PHONE_NUMBER NEW_PHONE_NUMBER
------------ --------------------
009378248448 78248448
078912354 78912354
776868886 776868886
93784385483 784385483
SQL>
