Fórum como tirar os espaços em branco no oracle sem usar o trim? #497069
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.
Posts
http://rafaelribeirowebmaster.com.br/tirar-espacos-em-brancos-em-campo-de-oracle-how-to-remove-white-spaces/
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.
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.
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
09/10/2014
Lourival Queiroz
Utiliza a função "replace"
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.
e verdade mas desde já agradeço a colaboração de todos.
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.