che ne dici:
SELECT
person,
replace(replace(replace(replace(phone_number,' ',''),'(',''),')',''),'-','') as phone_number
FROM
people
WHERE
phone_number RLIKE '^[+]?[-() 0-9]+$';
corrisponde a numeri che iniziano con un segno più, possono contenere trattini, parentesi e spazi. ma nessun segno positivo se non all'inizio. e anche nessun personaggio. rimuove anche trattini, spazi e parentesi.