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