如何从Oracle的列中删除特定的初始字符?

发布于 2025-02-11 03:12:17 字数 544 浏览 0 评论 0原文

我有名称为phone_number的列,例如:

phone_number
078912354
93784385483
009378248448 776868448
776868886

,所以我想删除以(0,93,0093)删除所有初始数字。我想要的预期结果是:

phone_number
78912354
784385483
78248448
7768688686

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

在巴黎塔顶看东京樱花 2025-02-18 03:12:18

这是一个选项:

示例数据:

SQL> select * from test order by phone_number;

PHONE_NUMBER NEW_PHONE_NUMBER
------------ --------------------
009378248448
078912354
776868886
93784385483

删除您提到的领先字符:

SQL> update test set
  2    new_phone_number = regexp_replace(phone_number, '^(0093|093|93|0)');

4 rows updated.

结果:

SQL> select * from test order by phone_number;

PHONE_NUMBER NEW_PHONE_NUMBER
------------ --------------------
009378248448 78248448
078912354    78912354
776868886    776868886
93784385483  784385483

SQL>

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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文