How do you store scientific notation numbers in MySQL
Asked Answered
M

2

5

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).

Moynihan answered 19/6, 2011 at 7:24 Comment(1)
It's worth noting that there's no mention of a variable field that determines the number of digits of a decimal type in the MySQL docs. A decimal's storage requirement is most likely static, regardless of the number of digits used, like char vs varchar.Rozanne
T
9

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 |
Thibeault answered 19/6, 2011 at 7:38 Comment(0)
B
6

Save them in a field of type double.

Booster answered 19/6, 2011 at 7:29 Comment(1)
Both double and float can be usedRicoricochet

© 2022 - 2024 — McMap. All rights reserved.