Retirar caracteres na consulta sql [RESOLVIDO]

Seguinte pessoal, estou fazendo um sql para buscar uma pessoa através do seu cnpj. Mas o parametro que eu estou passando não é com os pontos, traços e barras que tem no cnpj, e no meu BD(PostgreSQL) está salvo com esses caracters (. - /).
EX:

Parametro: 00000000000000
No banco: 000.000.000/0000-0

Alguem sabe uma função, ou como fazer a retirada desses caracteres no momento da consulta?

Obrigado.

[quote=gilvanandre]Seguinte pessoal, estou fazendo um sql para buscar uma pessoa através do seu cnpj. Mas o parametro que eu estou passando não é com os pontos, traços e barras que tem no cnpj, e no meu BD(PostgreSQL) está salvo com esses caracters (. - /).
EX:

Parametro: 00000000000000
No banco: 000.000.000/0000-0

Alguem sabe uma função, ou como fazer a retirada desses caracteres no momento da consulta?

Obrigado.[/quote]

Fiz aqui meio na pressa, nao sei se funciona, mas testa aí! Se não funcionar, a solução não deve fugir muito disso:

CREATE OR REPLACE FUNCTION retira_especiais(character varying)
  RETURNS character varying AS
$$
SELECT translate($1, './-', '')
$$
LANGUAGE sql;

Aí na hora de fazer a consulta basta chamar o retira_especiais(parametro_desejado), no caso, o CNPJ!

:smiley:

Acredito que seja mais simples vc formatar no java mesmo antes de fazer o select.
Se a tabela tiver muitos registros, a consulta pode ficar demorada formatando no sql.

[quote=jeanmalvessi][quote=gilvanandre]Seguinte pessoal, estou fazendo um sql para buscar uma pessoa através do seu cnpj. Mas o parametro que eu estou passando não é com os pontos, traços e barras que tem no cnpj, e no meu BD(PostgreSQL) está salvo com esses caracters (. - /).
EX:

Parametro: 00000000000000
No banco: 000.000.000/0000-0

Alguem sabe uma função, ou como fazer a retirada desses caracteres no momento da consulta?

Obrigado.[/quote]

Fiz aqui meio na pressa, nao sei se funciona, mas testa aí! Se não funcionar, a solução não deve fugir muito disso:

CREATE OR REPLACE FUNCTION retira_especiais(character varying)
  RETURNS character varying AS
$$
SELECT translate($1, './-', '')
$$
LANGUAGE sql;

Aí na hora de fazer a consulta basta chamar o retira_especiais(parametro_desejado), no caso, o CNPJ!

:smiley: [/quote]

Valeu rapaz… DETALHE: O CARA TRABALHA NA MESA DO MEU LADO. HEUHEUEHUEHUEHUEHUEHUEHEUHEU

1 curtida
public class ValidarSemPontos {

	private String removePontos(final String documento) {
		String documentoSemPonto = documento.trim().replace("-","").replace(".", "").replace("/", "");
		return documentoSemPonto;
	}
	
	public static void main(String[] args) {
		ValidarSemPontos vsp = new ValidarSemPontos();
		// Exemplo com cpf
		String cpf ="717.411.600-06";
		System.out.println(vsp.removePontos(cpf));
		
		// Exemplo com cnpj
		String cnpj ="363.865.570/0015-0";
		System.out.println(vsp.removePontos(cnpj));
	}
}

[quote=brunoprogramadorjava][code]
public class ValidarSemPontos {

private String removePontos(final String documento) {
	String documentoSemPonto = documento.trim().replace("-","").replace(".", "").replace("/", "");
	return documentoSemPonto;
}

public static void main(String[] args) {
	ValidarSemPontos vsp = new ValidarSemPontos();
	// Exemplo com cpf
	String cpf ="717.411.600-06";
	System.out.println(vsp.removePontos(cpf));
	
	// Exemplo com cnpj
	String cnpj ="363.865.570/0015-0";
	System.out.println(vsp.removePontos(cnpj));
}

}
[/code][/quote]

Obrigado, mas não é isso que eu preciso. Já resolvi com o que o rapaz acima me mandou.
O que eu precisava era uma função direto no PostgreSQL que retirasse esses acentos, e não uma classe com uma função, isso eu já tenho.

Mesmo assim obrigado.