问题
I want to store scientific notation numbers in MySql.
I've saved them to a field which has datatype decimal
. The issue is that it stores it in normal notation (at least that what it seems when I view the number in the web console that comes with MAMP) and thus you need to allocate more bytes to the field ... which I believe will lead to having a very large database.
Is there anyway to store the scientific notation as is (far fewer units of information), but still be able to do numeric computations e.g. < and > (context for the last comment is that if you just needed to display the value you could store it as a text type, but that won't do for me).
回答1:
FLOAT
and DOUBLE
datataypes can be shown (and inserted) using Scientific notation:
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 |
回答2:
Save them in a field of type double.
来源:https://stackoverflow.com/questions/6401145/how-do-you-store-scientific-notation-numbers-in-mysql