5

我想在 MySql 中存储科学计数法数字。

我已将它们保存到具有 datatype 的字段中decimal。问题是它以普通符号存储它(至少当我在 MAMP 附带的 Web 控制台中查看数字时看起来是这样),因此您需要为该字段分配更多字节......我相信这会导致拥有一个非常大的数据库。

无论如何要按原样存储科学记数法(信息单位要少得多),但仍然能够进行数字计算,例如 < 和 > (最后一条评论的上下文是,如果您只需要显示值,您可以存储它作为文本类型,但这对我不起作用)。

4

2 回答 2

9

FLOATDOUBLE数据类型可以使用科学记数法显示(和插入):

CREATE TABLE numSC
( f float
, d double
) ;

INSERT INTO numSC
VALUES
(POW(10,30), POW(10,30)) ;

INSERT INTO numSC
VALUES
(10.1234567890123456e-20, 10.1234567890123456e-20) ;

SELECT * FROM numSC ;

>  |         f    |                  d    |
>  |       1e+030 |                1e+030 |
>  | 1.01235e-019 | 1.01234567890123e-019 |
于 2011-06-19T07:38:42.377 回答
6

将它们保存在 double 类型的字段中。

于 2011-06-19T07:29:30.887 回答