查询以替换电话号码字段中的特殊字符

时间:2017-10-16 15:50:19

标签: sql oracle

任何人都可以帮助查询如何从电话号码列中替换特殊/非数字/隐藏字符。

我已经尝试了

LTRIM(RTRIM(REGEXP_REPLACE(
          PHONE_NBR,
          '[^[:digit:]][:cntrl:][:alpha:][:graph:][:blank:][:print:][:punct:][:space:]~',
          '')))

但没有运气,仍然有一些记录包含非数字值。

1 个答案:

答案 0 :(得分:1)

你的正则表达式只是替换一个由以下字符串组成的字符串:一个非数字字符后跟一个控制字符,一个alpha,一个图形,一个空格,一个print,一个punct,一个空格,然后是一个代字号。

您应该只能使用'[^[:digit:]]'作为正则表达式,以删除所有非数字字符。