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.
O seu problema é conceitual. Vejamos: NULL, significa "não sei". Se você não sabe quanto tem, e soma 1, você continua não sabendo quanto tem, certo? Veja que NULL e Zero são coisas diferentes. 0 + X = X. NULL + X = NULL. Então * você tem um problema de semântica na sua aplicação (porquê raios alguém vai querer somar um número a NULL???) e neste caso, você precisa mexer na modelagem e/ou regra de negócios * Você precisa tratar as entradas com NULL utilizando uma expressão condicional, como o COALESCE: http://www.postgresql.org/docs/9.0/static/functions-conditional.html#AEN15541 Espero ter ajudado. -- Atenciosamente, Fábio Telles Rodriguez blog: http://www.midstorm.org/~telles/ e-mail / gtalk / MSN: [email protected] Skype: fabio_telles _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
