[firebase-br] Valor não encontrado no select

Evandro da Silva Amparo evandro.amparo em gmail.com
Sex Out 16 17:09:25 -03 2009


Me corrijam se eu estiver errado (ainda estou aprendendo), mas se o campo é
numérico e não texto, você pode fazer a consulta assim:

select * from tabela where campo = 159.05

sem o apóstrofo. Acredito que por causa do CHARSET ou COLLATE, o firebird
não esteja entendendo o ponto (.) como separador decimal, mas para
constantes numéricas ele usa o padrão inglês, pelo que eu sei.

Eu somente uso o apóstrofo para campos VARCHAR.

Tente e diga se deu certo.

Abraço

2009/10/15 Douglas Tosi <douglasht em gmail.com>

> 2009/10/15 Kelver Merlotti <kmerlotti em gmail.com>:
> > Obs 1: O campo é do tipo DOUBLE PRECISION, no dialeto 1, e quando foi
> > inserido foi utilizando algo como: insert into tabela(campo)
> > values('159.05')
>
> Não sei dizer porque a conversão da string '159.05' é diferente da
> constante 159.05, mas de qualquer maneira não tem garantia. É o
> problema do double precision. Não dá pra garantir a igualdade.
>
> Você pode comparar o período, por exemplo:
> campo between 159.050 and 159.051.
>
> hth,
> --
> Douglas Tosi
> www.sinatica.com
>
> ______________________________________________
> 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