Utilizzo di regexp_replace è più semplice:
# select regexp_replace('test1234test45abc', '[^0-9]+', '', 'g');
regexp_replace
----------------
123445
(1 row)
Il ^ significa not , quindi qualsiasi carattere che sia non nell'intervallo 0-9 verrà sostituito con una stringa vuota, '' .
Il 'g' è un flag che significa che tutte le partite verranno sostituite, non solo la prima partita.