como tirar os espaços em branco no oracle sem usar o trim?

Oracle

08/10/2014

como tirar os espaços em branco no oracle sem usar o trim, porque quando uso o trim o tempo de execução da minha sql vai lá pra cima, ou seja, quase que impraticável a utilização do mesmo.
Wener Xavier

Wener Xavier

Curtidas 0

Respostas

Wander Santos

Wander Santos

08/10/2014

http://rafaelribeirowebmaster.com.br/tirar-espacos-em-brancos-em-campo-de-oracle-how-to-remove-white-spaces/
GOSTEI 0
Wener Xavier

Wener Xavier

08/10/2014

obrigado Wander a sql da certo, mas o tempo de execução muito alto, praticamente a mesma coisa que o trim, não resolveu o meu problema, mas valeu a força.
GOSTEI 0
Lucas Ramos

Lucas Ramos

08/10/2014

Acredito não ter uma maneira de tirar os espaços em brancos sem utilizar essa função, a não ser que crie uma função que faça a mesma coisa com uma heurística melhor.
Mas nesse caso não seria melhor tratar na hora que vai gravar, para não gravar com esses espaços em branco? Assim quando pesquisar não precisa utilizar o trim.
GOSTEI 0
Wander Santos

Wander Santos

08/10/2014

vc ta precisando tirar os espaços pra q?
Se for em alguma aplicacao faz a query normal e tira o espaço com alguma função da linguagem
GOSTEI 0
Lourival Queiroz

Lourival Queiroz

08/10/2014

Utiliza a função "replace"
GOSTEI 0
Wener Xavier

Wener Xavier

08/10/2014

a questão é que preciso fazer esse procedimento dentro de uma procedure, então não tem como tratar na aplicação, já discutimos com o desenvolvimento a possibilidades de tirar os campos em branco, mas daria muito trabalho fazer uma verificação na aplicação, mesmo porque a mesma sql que eu uso para fazer uma pesquisa no varchar2 eu uso no char, mas o problema e os insert, se ele manda um insert vachar2 com os espaços brancos ele grava da mesma forma que o char, levando em consideração que a aplicação e muito grande, só para ter uma ideia a tabela onde tem esses espaços tem 6 milhões e lavai pancada de linhas.
GOSTEI 0
Wander Santos

Wander Santos

08/10/2014

Sistema punk hein?!
GOSTEI 0
Wener Xavier

Wener Xavier

08/10/2014

e verdade mas desde já agradeço a colaboração de todos.
GOSTEI 0
Wener Xavier

Wener Xavier

08/10/2014

bom chegamos a uma solução, mudamos o campo da tabela para varchar2 onde era char, e vimos que o oracle pesquisa o dando independente se tem espaços em branco ou não, ou seja os select da aplicação continua executando, e os insert também continua inserindo com espaças em branco, mas como já falei os select ignorou a existência dos espaços no tipo varchar2, isso fez com que a procedure passando de 57 segundo de execução para 0,07 segundos de execução, resumindo deu certo.

grato a todos pela atenção.
GOSTEI 0
POSTAR