gpt4 book ai didi

oracle11g - 甲骨文 : Replacing non-numeric chars in a string

转载 作者:行者123 更新时间:2023-12-02 21:32:43 25 4
gpt4 key购买 nike

我的数据库中有一个字段,用户在其中保存了自由格式的电话号码。因此,数据具有各种不同的格式:

  • (区域)nnn-nnnn
  • 区域-nnn-nnnn
  • 区域.nnn.nnnn
  • 等等

我想删除所有非数字字符并只存储数字,但我找不到简单的方法来做到这一点。是否可以不对每个字符使用一个 REPLACE?

最佳答案

从 Oracle 10 开始您可以使用 REGEXP_REPLACE:

SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL

此示例返回 349471234562013

替代语法包括:

  • POSIX 字符类:

    '[^[:digit:]]+'
  • 受 Perl 影响的扩展(自 Oracle 11 起):

    '\D+'

关于oracle11g - 甲骨文 : Replacing non-numeric chars in a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3968178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com