forcar soma ou subtracao de um campo null no firebird

12/07/2005

4

bom dia pessoal, qro saber c tem como eu fazer operacoes aritimeticas com um campo null ou c exite alguma funcao q force o campo ficar 0 qdo for null dentro da SQL tipo o SUM, MAX, AVG, COUNT entre outros preciso disso com maior ugencia C ALGUEM PUDER ME AJUDAR AGRADECO OBRIGADOOOO!!!!!!

[color=green:20148e4b2b]Movido de Delphi para Interbase/Firebird[/color:20148e4b2b]


Responder

Post mais votado

12/07/2005

Se for Firebird 1.5, te a função COALESCE que pega o primeiro valor NÃO NULO de uma sequencia... por exemplo

SELECT COALESCE(CDCLIENTE, CDFORNECEDOR, 0) FROM TABELA

ele irá testar se CDCLIENTE é nulo... se for passa para CDFORNECEDOR... e assim por diante, até achar um valor não nulo... no nosso caso o 0 (zero).

para funcionar no seu caso:

SELECT SUM(COALESCE(CAMPO, 0)) FROM TABELA


Responder

Mais Posts

14/07/2005

Reginaldo174

Aconselho a atribuir o valor 0 aos campos null

update tabela set campo = 0
where
campo is null



Responder
Se for Firebird 1.5, te a função COALESCE que pega o primeiro valor NÃO NULO de uma sequencia... por exemplo

SELECT COALESCE(CDCLIENTE, CDFORNECEDOR, 0) FROM TABELA

ele irá testar se CDCLIENTE é nulo... se for passa para CDFORNECEDOR... e assim por diante, até achar um valor não nulo... no nosso caso o 0 (zero).

para funcionar no seu caso:

SELECT SUM(COALESCE(CAMPO, 0)) FROM TABELA




me ajudou MUITO obrigado! :D
Responder