[firebase-br] RES: RES: Consulta SQL

Mauri Lima GMail mauri.lima.roraima em gmail.com
Sáb Nov 29 16:31:26 -03 2014


Pessoal obrigado, 
Cantu obrigado tambem.

 Consegui analisar o que estava ocorrendo, na presa de testar não
acrescentei o left join no comando e o campo data que deveria ser testado
era da outra tabela e não a data na tabela documento, por isso retornava
vazio.

 Desculpe-me por 'Roubar' o tempo de vocês com este erro que eu mesmo
provoquei.

Agradeço a boa vontade de todos.

Obrigado!!

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Carlos H. Cantu
Enviada em: sábado, 29 de novembro de 2014 12:35
Para: FireBase
Assunto: Re: [firebase-br] RES: Consulta SQL

Não to entendendo, nos exemplos que vc mandou não tinha between.

Que tal vc postar a metadata das tabelas envolvidas, as formas das
consultas que vc tentou e o resultado obtido com cada uma delas.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

MLG> Complementando:
MLG>  O erro so ocorre quando do uso do between, se o mesmo não estiver
presente
MLG> na sentença sql, o resultado e normal, isto e, retorna as linhas da
MLG> consulta.


MLG> -----Mensagem original-----

MLG> Qual o charset e o collate definido para o campo d.Historico no
MLG> Firebird?

MLG> []s
MLG> Carlos H. Cantu
MLG> www.FireBase.com.br - www.firebirdnews.org
MLG> www.warmboot.com.br - blog.firebase.com.br

MLG>> Boa tarde pessoal,

MLG>>  Aproveitando o gancho.....

MLG>>   Ve se alguem pode me ajudar neste erro um tanto quanto "ninja" no
MLG> firebird
MLG>> 2.53

MLG>>   Nos select abaixo o mesmo retorna os registros de forma correta:
MLG>>   obs. O grande numero de pareteses foi para tentar resolver o
problema
MLG>>   Select * from DOCUMENTO d
MLG>>            WHERE ( d.DATADOCUMENTO Between cast('20.11.2014' as date)
MLG> And
MLG>> cast('21.11.2014' as date) ) AND
MLG>>                  ((d.Historico like 'LICENCA%') and (d.TipoCodigo =
MLG> '0001'))


MLG>>   Agora no select abaixo onde so acrescentei ' ME%' o mesmo nao
MLG> seleciona
MLG>> nehum registro da tabela retorna vazio:
MLG>>    Select * from DOCUMENTO d
MLG>>             WHERE ( d.DATADOCUMENTO Between cast('20.11.2014' as date)
MLG> And
MLG>> cast('21.11.2014' as date) ) AND
MLG>>                   ((d.Historico like 'LICENCA ME%') and (d.TipoCodigo
=
MLG>> '0001'))
MLG>>                                   

MLG>>  Fiz um teste no Postgresql usando a mesma tabela e os mesmo dado, os
MLG> dois
MLG>> comandos são executados de forma correta,     
MLG>>  retornando os dados (com a diferencça no firebird do collate PTBR que
MLG> traz
MLG>> ç e c de forma correta)


MLG>>  Sera que isso pode ser um pequeno bug no firebird  . Alguma ideia??
MLG>>  Tambem testei em dois servidores diferentes e o resultado foi o
mesmo.
MLG>>  
MLG>>  Firebird 2.53
MLG>>  Win 7
MLG>>  Windows Server 2003 
MLG>>                         
MLG>> Mauri Lima de Oliveira
MLG>> Boa Vista - Roraima




MLG> ______________________________________________
MLG> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
MLG> Para saber como gerenciar/excluir seu cadastro na lista, use:
MLG> http://www.firebase.com.br/fb/artigo.php?id=1107
MLG> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista