Muitas vezes em processos de migrações/integrações de dados precisamos, por exemplo levar o conteúdo de um campo varchar para um campo numérico. No Oracle é fácil de resolver utilizando a função REGEXP_REPLACE. Abaixo seguem alguns exemplos de uso dessa função.
Exemplo:
Select regexp_replace('avbvBah*-+&.,','[[:punct:]]','') from dual -- remove todos os carecteres de pontuação
Exemplo:
Select regexp_replace('avbvBah*-+&.,','[[:punct:]]','') from dual -- remove todos os carecteres de pontuação
| [:alnum:] | Alphanumeric characters |
| [:alpha:] | Alphabetic characters |
| [:blank:] | Blank Space Characters |
| [:cntrl:] | Control characters (nonprinting) |
| [:digit:] | Numeric digits |
| [:graph:] | Any [:punct:], [:upper:], [:lower:], and [:digit:] chars |
| [:lower:] | Lowercase alphabetic characters |
| [:print:] | Printable characters |
| [:punct:] | Punctuation characters |
| [:space:] | Space characters (nonprinting), such as carriage return, newline, vertical tab, and form feed |
| [:upper:] | Uppercase alphabetic characters |
| [:xdigit:] | Hexidecimal characters |