olá Sidnei, ainda não é issoveja... o campo d_lote pode ser vazio ou não...mas 
ambos trazem resultados diferentesno caso o resultado dessa consulta (select 
coalesce(sum(ie.qt_entrada*up.vr_fator),0)....)varia se o campo for nulo ou 
não, se eu utilizar  
(vt_d_lote is null or ie.d_lote = vt_d_lote)aí o resultado vai ficar incorreto. 
From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Wed, 21 Feb 2007 14:17:27 
-0300Subject: Re: [PostgreSQL-Brasil] dúvida com "null"








    Além disso.......
    Acho que não compreendi a sua 
pergunta no primeiro momento, mas o que você pretende fazer pode ser 
assim:
 
where (ie.c_produto = in_c_produto) and 
(vt_d_lote is null or ie.d_lote = vt_d_lote)
 
    Abraços
    Sidnei

  ----- Original Message ----- 
  From: 
  saulo 
  Mendes 
  To: [email protected] 
  
  Sent: Wednesday, February 21, 2007 1:07 
  PM
  Subject: [PostgreSQL-Brasil] dúvida com 
  "null"
  
  Senhores,em uma determinada função 
  se eu comparar um valor de uma variável, e esta contiver um valor nuloa 
  consulta não me traz o resultado. Gostaria de saber como equacionar isso de 
  forma não-redundante.segue o trecho da consulta:   
  select coalesce(sum(ie.qt_entrada*up.vr_fator),0)    from 
  tb_itentrada_prod ie inner join tb_unid_produto up     
  on (up.c_unid_produto = ie.c_unid_produto) and (up.d_unidade in 
  ('E','A'))    inner join tb_entrada_prod e on 
  (ie.c_entrada_prod = e.c_entrada_prod)     and 
  (e.c_estoque = in_c_estoque) and    
  (to_timestamp(e.dt_emissao||' '||e.hr_entrada,     
  'YYYY-MM-DD HH24:MI:SS') >      
  coalesce(v_hr_inventario,'1900-02-20 11:18:14-03'))    
  where (ie.c_produto = in_c_produto) and (ie.d_lote = vt_d_lote) <<<< 
vt_d_lote é uma variável....se o valor dela for 
  nulo(esse campo pode ser nulo) a consulta não me traz o valor correto pois o 
  postgres não entendeu tipo, ie.d_lote 
  = null.    into 
  vr_estoque_positivo;a solução parcial que encontrei é, antes de 
  consulta (select coalesce...) eu testar se a variável é nula, caso seja eu 
  reescrevo a função com o final ie.d_lote is 
  null. Eu gostaria de eliminar esse redundância.agradeço, desde 
  já.
  
  O Windows Live Spaces está aqui! Descubra como é fácil criar seu espaço na 
Web 
  e sua rede amigos. Confira! 
  
  

  _______________________________________________Grupo de Usuários do 
  PostgreSQL no BrasilAntes de perguntar consulte o 
  manualhttp://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

_________________________________________________________________
Ligue para os seus amigos grátis. Faça chamadas de PC-para-PC pelo messenger-- 
GRÁTIS
http://get.live.com/messenger/overview
_______________________________________________
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