quinta-feira, 14 de março de 2013

Oracle - Removendo caracteres especiais de uma string

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


[: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



Um comentário: