pessoal, desculpe a insistência mas nosso dba saiu e eu tenho q  programar e 
'quebrar o galho' como dba.alguém poderia me dar uma dica sobre a sintaxe 
abaixo?a function compila direito mas, na hora de executar me retorna o 
seguinte erro:Erro: "ERROR:  syntax error at or near "YYYY" at character 
341From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Wed, 21 Feb 2007 19:27:58 
+0000Subject: Re: [PostgreSQL-Brasil] dúvida com "null"





sql =  '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,'   -- >>>>>>> nesse 
trecho eu preciso colocar um espaço em branco                                   
                                                               --         qual 
seria o caracter do postgres para espaço em branco?   ||''''||'YYYY-MM-DD 
HH24:MI:SS'||''''   ||') > coalesce('||v_hr_inventario||','||''''   
||'1900-02-20 11:18:14-03'||''''||'))                  where (ie.c_produto = 
'||in_c_produto||')';    if vt_lote is null then   sql = sql || ' and 
(ie.d_lote is null)';  else   sql = sql || ' and (ie.d_lote = '||vt_lote||')';  
end if;  execute sql into vr_estoque_positivo;From: [EMAIL PROTECTED]: [EMAIL 
PROTECTED]: Wed, 21 Feb 2007 18:53:19 +0000Subject: Re: [PostgreSQL-Brasil] 
dúvida com "null"





infelizmente ainda não é isso......decidi tentar dessa forma sql =  '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'||''''||'))  
              <<<<< estou tendo problemas com esse trecho, eu acho              
                                                        (Erro: "ERROR:  syntax 
error at or near "12" at character 388)  where (ie.c_produto = 
'||in_c_produto||')';    if vt_lote is null then   sql = sql || ' and 
(ie.d_lote is null)';  else   sql = sql || ' and (ie.d_lote = '||vt_lote||')';  
end if;  execute sql into vr_estoque_positivo;creio que, acertando essa 
sintaxe(com a ajuda de vcs, espero) minha necessidade pode ser suprida.> Date: 
Wed, 21 Feb 2007 15:10:13 -0300> From: [EMAIL PROTECTED]> To: 
[email protected]> Subject: Re: [PostgreSQL-Brasil] dúvida com 
"null"> > > --- [EMAIL PROTECTED] escreveu:> > > ok, nesse caso, só falta 
adicionar isso na última> > cláusula...> >    where (ie.c_produto = 
in_c_produto)> >      and ( (vt_d_lote is not null and ie.d_lote => > 
vt_d_lote)> >         or (vt_d_lote is null and ie.d_lote =null)> > > > 
Conforme o que você descreveu, isso deverá> > funcionar, a não ser que seu 
campo ie.d_lote não> > seja nulo em seu Banco de Dados.> > > > > De uma forma 
mais simples:> > where (ie.c_produto = in_c_produto)>   and (ie.d_lote IS NOT 
DISTINCT FROM vt_d_lote)> > 
http://www.postgresql.org/docs/8.2/interactive/functions-comparison.html> "IS 
NOT DISTINCT FROM is identical to = for non-null> inputs, but it returns true 
when both inputs are null,> and false when only one input is null."> > []s> 
Osvaldo> > > __________________________________________________> Fale com seus 
amigos  de graça com o novo Yahoo! Messenger > http://br.messenger.yahoo.com/ > 
_______________________________________________> 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-usuariosDescubra e experimente 
alguns novos serviços online no Windows Live Ideas Experimente!
Busque em qualquer página da Web com alta proteção. Obtenha o Windows Live 
Toolbar GRATUITO ainda hoje! Experimente agora!

_________________________________________________________________
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