Any calculation involving a floating point number will be imprecise.
It does not mater  what column types are involved.

Octavian Rasnita wrote:

And does anyone know what column type I should use if I want a precise
calculation?
I've even tried with text and blob, but they are not working either.
Only the int type is precise?

Thanks.

Teddy,
Teddy's Center: http://teddy.fcc.ro/
Email: [EMAIL PROTECTED]

----- Original Message -----
From: "Stefan Hinz, iConnect (Berlin)" <[EMAIL PROTECTED]>
To: "Octavian Rasnita" <[EMAIL PROTECTED]>; "MySQL" <[EMAIL PROTECTED]>
Sent: Monday, January 20, 2003 11:42 PM
Subject: Re: Is it normal?


Octavian,


mysql> create table test(id float);
mysql> insert into test values(1.123), (3.1495);
mysql> select * from test where id=1.123;
Empty set (0.00 sec)
Shouldn't this last query show me the record that has the id=1.123?

Well ... 1.123 is greater than 1.123, see:

mysql> select id from octavian where id > 1.123;
+--------+
| id |
+--------+
| 1.123 |
| 3.1495 |
+--------+
2 rows in set (0.00 sec)

Now here's why. Floats are simply not precise:

mysql> select id*10000 from octavian where id > 1.123;
+-----------------+
| id*10000 |
+-----------------+
| 11230.000257492 | <----------
| 31494.998931885 |
+-----------------+
2 rows in set (0.00 sec)


What query should I use to do this?

I leave this one to Paul or one of the other gurus.

Regards,
--
Stefan Hinz <[EMAIL PROTECTED]>
Geschäftsführer / CEO iConnect GmbH <http://iConnect.de>
Heesestr. 6, 12169 Berlin (Germany)
Tel: +49 30 7970948-0 Fax: +49 30 7970948-3

----- Original Message -----
From: "Octavian Rasnita" <[EMAIL PROTECTED]>
To: "MySQL" <[EMAIL PROTECTED]>
Sent: Monday, January 20, 2003 9:34 AM
Subject: Is it normal?



Hi all,

I've tried the following SQL queries:

mysql> create table test(id float);
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test values(1.123), (3.1495);
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> select * from test where id=1.123;
Empty set (0.00 sec)

Shouldn't this last query show me the record that has the id=1.123?

What query should I use to do this?

Thank you.



Teddy,
Teddy's Center: http://teddy.fcc.ro/
Email: [EMAIL PROTECTED]



---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail

<[EMAIL PROTECTED]>

Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php





---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php





---------------------------------------------------------------------
Before posting, please check:
  http://www.mysql.com/manual.php   (the manual)
  http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to