いつもお世話になっております。ktsaと申します。表題の件について教えていただきたいのですが、
MySQLのfloat型は、IEEE754に則っているのでしょうか?
7桁ではなく、常に有効数字6桁までしか保存されないように思います。環境とテスト内容ですが、MySQL5.0.22-community-ntデータベースはInnoDBCREATE TABLE `testtb` (
`A` tinyint(4) NOT NULL default '0',
`B_dbl` double default NULL,
`C_float` float default NULL,
PRIMARY KEY (`A`)
) ENGINE=InnoDB DEFAULT CHARSET=sjis;Insert into testtb values(11,1.2345678901234567890,1.2345678901234567890);
を実行する。
コンソール実行画面結果は、mysql> Insert into testtb values(11,1.2345678901234567890,1.2345678901234567890);
Query OK, 1 row affectedmysql> select * from testtb where A=11;
+----+------------------+---------+
| A | B_dbl | C_float |
+----+------------------+---------+
| 11 | 1.23456789012346 | 1.23457 |
+----+------------------+---------+
1 row in setとC_float列は7桁目が丸めまれ常に有効数字が6桁になります。他の値でも試しましたが同様でした。よろしくお願いいたします。