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 по дате отправления: