Página 1 de 1

Selecionar registro sem máscara

Enviado: Seg, 26 Jun 2006 4:16 pm
por luisviana
Olá,
alguém sabe como faço pra selecionar registros gravados no banco, sem a máscara/caracter, retornando apenas numeros?
Ex:
X
123.456.789-00
CPF.123.456-AB

SELECT X FROM Y, me retornaria:
X
12345678900
123456

Grato,

Enviado: Ter, 27 Jun 2006 9:16 am
por dr_gori
Bem, pensei nesse SQL.
Talvez exista uma forma melhor pra fazer isso.

Selecionar tudo

SELECT seu_campo,
  REPLACE(
    LTRIM(TRANSLATE(UPPER( seu_campo ), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ.,-ÃÕÁÉÍÓÚÀÇ', ' '))
  , ' '
  , '') N
FROM sua_tabela
Veja o exemplo:

Selecionar tudo

SQL> select ds_endereco,
  2    REPLACE(
  3      LTRIM(TRANSLATE(UPPER(DS_ENDERECO), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ.,-ÃÕÁÉÍÓÚÀÇ', ' '))
  4    , ' '
  5    , '') N
  6  from tb_pessoa
  7  WHERE DS_ENDERECO IS NOT NULL
  8    AND ROWNUM<=20
  9  /

DS_ENDERECO                              N
---------------------------------------- ----------------------------------------
Av. Cel. Nono Centeno, 13                13
Rua Padre Chagas, 415                    415
Rua Padre Chagas, 415                    415
Rua Dr. Barros Cassal, 180               180
Av. Flores da Cunha, 903                 903
Rua Paraíba, 1352                        1352
Rodovia Presidente Dutra, KM 276         276
Av.Sen.Roberto Kennedy, 124              124
Rua 13 de maio, 581                      13581
Av. Frederico Wolfenbuttel, 465          465
RUA CAMBOIM
Rua Domingos Martins, 360                360
São Raimundo, 119 - 701                  119701
Rua 11 de Julho, 311                     11311
Rua Cons. Furtado
João Francisco de Araújo, 144            144
Rua Manoel Assunção, 91                  91
Rua Cascavel, 261                        261
Rua Joaquim Couto,45                     45
Rua Joaquim Silveira da Motta 292        292

20 rows selected.

SQL> 

Selecionar registro sem máscara

Enviado: Qua, 28 Jun 2006 10:43 am
por luisviana
Obrigado pela dica. Poderia me informar onde encontro tutoriais com dicas oracle?

Grato,