mysqlに小数点以下の値をfloatとして格納するのは悪い考えです。10進数をmysql float型で表現していますか?
例:$ 5.01の価格を商品に保存した場合、その番号の正確な浮動型表現はありません。
私は、あなたはそれを行う場合:ただし
mysql> select avg(test) from test;
+------------------+
| avg(test) |
+------------------+
| 5.01000022888184 |
+------------------+
1 row in set (0.00 sec)
:
CREATE TABLE IF NOT EXISTS `test` (
`test` float NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `test` (`test`) VALUES
(5.01);
、その後、あなたはこれで終わるだろう、そのテーブルに対してクエリ
SELECT AVG(test)
FROM test
を実行します次のようなフィールドを選択してください:
mysql> select * from test;
+------+
| test |
+------+
| 5.01 |
+------+
1 row in set (0.00 sec)
あなたは正しい額になります。
私の質問は:どのようにすることができますか?
float型で自分の値を正確に表すことができない場合は、
選択結果が5.01000022888184でも返されますか?