Jean,
O null se propaga  qualquer coisa (concatenada, string ou calculada,
numeros resultará em nulo) então:

select null+5; --resultado null
select 'teste' || NULL || ' OK'; --resultado null

Para resolver o teu problema sugiro usar função coalesce conforme
exemplo abaixo:

select coalesce(null,0)+5;  --resultado 5

Pegando o teu exemplo ficaria assim:

update material set saldo = coalesce(saldo,0) + 1; --resultado 1

Em 15 de março de 2011 09:31, Jean Pereira
<[email protected]> escreveu:
> Bom dia.
> Aqui da empresa, um programador estava com problemas com a soma de um campo
> null com 1, por exemplo.
> Ele tinha uma tabela de saldo e fez assim:
> update material set saldo = saldo + 1;
> mas o campo saldo tinha o valor null, e gostaria de saber se é normal o
> banco nem se quer dar um warning avisando da soma "errada", ou se está
> correto a soma retornar null mesmo.
> Abraço.
> Jean Pereira
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a