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 |