Amigos,

  Estou passando por um problema que nao consigo resolver. Possuo varias 
tabelas. Algumas com campo varchar outras int ou numeric. E em algumas, 
apesar de estar setada como varchar ela possui dados tanto numericos 
quanto com palavras ou entao nulos. O fato eh o seguinte, o usuario tem 
a possibilidade de criar uma formula matematica envolvendo varias 
tabelas, mas a string da erro em algumas vezes justamente por causa 
dessa possibilidade de ter dados tambem alfanumericos.

Um exemplo de string eh esse abaixo:

SELECT tab01.V01 + tab02.V04 AS vx, a_bjaguaribe_mu.codigo AS id, 
a_bjaguaribe_mu.first_nome AS legenda
FROM tab01, tab02, a_bjaguaribe_mu
WHERE a_bjaguaribe_mu.codigo=tab01.codigo AND 
a_bjaguaribe_mu.codigo=tab02.codigo


O que eu quero fazer eh que das duas uma:
 - ou antes de fazer a soma, ele teste para checar se as variaveis sao 
numericas e se nao forem retorne nulo;
 - ou que ele faca a soma e caso ela de erro retorne nulo, caso 
contrario retorne o valor da soma.

Quero que aconteca isso pq os outros valores da tabela que nao forem 
texto ou nulos devem passa pela formula e mostrar o resultado.
Nao sei se me fiz entender, mas eh isso. Ateh imaginei que poderia ser 
feito assim, baseado em dicas dos colegas que me enviaram:

SELECT CASE WHEN funcaoteste(tab01.V01 + tab02.V04)=1 THEN tab01.V01 + 
tab02.V04 ELSE null AS vx, a_bjaguaribe_mu.codigo AS id, 
a_bjaguaribe_mu.first_nome AS legenda
FROM tab01, tab02, a_bjaguaribe_mu
WHERE a_bjaguaribe_mu.codigo=tab01.codigo AND 
a_bjaguaribe_mu.codigo=tab02.codigo

Onde funcaoteste retornaria 1 caso a soma desse certo e qualquer outra 
coisa caso contrario.

Obrigado,
artz

                
_______________________________________________________ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a