如何在MySQL中存储科学计数法数字

5
我想在MySql中存储科学计数法的数字。我将它们保存到一个具有数据类型为decimal的字段中。问题是它以普通表示法存储(至少在我查看MAMP附带的Web控制台中是这样),因此您需要为该字段分配更多字节...我相信这将导致数据库非常大。
有没有办法将科学计数法存储为原样(单位信息更少),但仍能进行数字计算,例如<和>(最后一条评论的上下文是,如果您只需要显示值,则可以将其存储为文本类型,但对我来说不行)。

值得注意的是,在MySQL文档中没有提到决定十进制类型数字位数的变量字段。十进制数的存储需求很可能是静态的,无论使用多少位数,就像char与varchar一样。 - EthernetCable
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 |

6

将它们保存在双精度浮点类型的字段中。


双精度和单精度都可以使用。 - Payel Senapati

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接