Re: Fields float4 don't return any row when selecting a

Поиск
Список
Период
Сортировка
От Francisco Figueiredo Jr.
Тема Re: Fields float4 don't return any row when selecting a
Дата
Msg-id 3EF09202.1080802@yahoo.com.br
обсуждение исходный текст
Ответ на Re: Fields float4 don't return any row when selecting a value with a .  (Bruno Wolff III <bruno@wolff.to>)
Список pgsql-hackers
Bruno Wolff III wrote:

> On Tue, Jun 17, 2003 at 23:26:07 -0300,
>   "Francisco Figueiredo Jr." <fxjrlists@yahoo.com.br> wrote:
> 
>>
>>Hi all,
>>I'm using the 7.4 cvs version on cygwin and I noticed that if I have a 
>>table with a field of float4 type and try to do a simple select:
>>select * from table where field_float4 = 4.4
>>
>>it doesn't return any rows.
>>In the same table I have a float8 field and it works ok.
>>
>>If I try with a value without the . in the float4 field it also works.
> 
> 
> I believe that is because the constant 4.4 is originally a float 8 value
> and the comparison to the float4 value is done by promoting to float8.
> And the nearest float4 value to 4.4 is not the same as the nearest
> float8 value to 4.4. I think both quoting the 4.4 or casting it to
> float4 will solve your problem.
> 

> Note that under many circumstances equality tests between floating
> values doesn't make a lot of sense. If you really want to do this,
> you might want to consider using the numeric type.
> 


Thanks!! I will use the quoting, as it could be used with both float4 
and float8 values.

-- 
Regards,
Francisco Figueiredo Jr.
---
"My grandfather once told me that there are two kinds of people: those
who work and those who take the credit. He told me to try to be in the
first group; there was less competition there."
- Indira Gandhi



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Rod Taylor
Дата:
Сообщение: Re: pg_get_triggerdef in pg_dump
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_get_triggerdef in pg_dump