近似数:FLOAT 和 SMALLFLOAT

在科学、工程和统计应用程序中,通常知道数字只具有少数几位的准确度,并且数字的量值与它的精确位数一样重要。

浮点数据类型就是为这些类型的应用程序设计的。它们可以表示任何数量,可以是小数或整数,并且其数量级范围非常广(从天文级到微观级)。它们可以很容易地表示从地球到太阳的平均距离(1.5 x 1011 米)或普朗克常量(6.626 x 10-34 焦耳秒)。例如:
CREATE TABLE t1 (f FLOAT);
INSERT INTO t1 VALUES (0.00000000000000000000000000000000000001);
INSERT INTO t1 VALUES (1.5e11);
INSERT INTO t1 VALUES (6.626196e-34);

存在两种大小的浮点数据类型。FLOAT 类型是双精度二进制浮点数,就像计算机上 C 语言中所实现的那样。FLOAT 数据类型值通常占用 8 个字节。SMALLFLOAT(也称为 REAL)数据类型是单精度二进制浮点数,通常占用 4 个字节。这两种数据类型之间的主要区别是它们的精度。

浮点数具有下列优点:

浮点数的主要缺点是它们的精度范围之外的各个位都被视为零。