2017-10-16 32 views
0

任何人都可以幫助查詢如何從電話號碼列中替換特殊/非數字/隱藏字符。用於替換電話號碼字段中的特殊字符的查詢

我已經試過

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

,但沒有運氣,還有其含有非數字值幾個記錄。

+0

當您的問題包含長時間表達式時,格式可幫助您獲得答案。您還應該顯示一些正確處理的值的示例,以及一些不是的值的示例。 –

回答

1

你的正則表達式只是說要替換一個字符串,它包括:一個非數字字符,後跟一個控制字符,一個alpha,一個圖形,一個空白,一個打印,一個點,一個空格,然後是一個波浪號。

您應該只能使用'[^[:digit:]]'作爲正則表達式來刪除所有非數字字符。

+0

是的,但是很少有像940374e + 15,ar Drive R這樣的字符不會被替換 – Keerthi

+0

@Keerthi這是一個數據類型問題 - 好像您將手機存儲爲數字,或者在某些時候將其轉換爲一個號碼。它應該作爲一個字符串處理,這將避免科學記數法轉換。 – Jasmine

+0

@Keerthi,但940374e + 15不是電話號碼。 –