Selecionar registro sem máscara

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
luisviana
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 26 Jun 2006 4:09 pm
Localização: muito

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,
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

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> 
luisviana
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 26 Jun 2006 4:09 pm
Localização: muito

Obrigado pela dica. Poderia me informar onde encontro tutoriais com dicas oracle?

Grato,
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes