SQL 中的 Float 和 Real 类型

2024年09月26日 SQL 中的 Float Real 类型 极客笔记

SQL 中的 Float 和 Real 类型

SQL 中,FLOATREAL 是用来表示浮点数的数据类型。浮点数是一种用科学计数法表示的数值类型,可以存储非整数数值,包括小数和指数形式。

FLOAT 数据类型

FLOAT 数据类型用于存储浮点数,根据选定的精度,它可以存储小数点后的位数。

语法

FLOAT(p)

其中,p 是指定精度的参数,表示浮点数的总位数。在 SQL 中,FLOAT 存储的实际值的精度取决于每个 DBMS 的实现。

示例

假设我们有一个名为 students 的表,其中有一个 gpa 列,我们想要将学生的 GPA 存储为浮点数。

CREATE TABLE students (
    id INT,
    name VARCHAR(50),
    gpa FLOAT(2)
);

INSERT INTO students (id, name, gpa) VALUES (1, 'Alice', 3.45);
INSERT INTO students (id, name, gpa) VALUES (2, 'Bob', 2.87);

在这个示例中,我们创建了一个 students 表,其中的 gpa 列使用 FLOAT(2) 数据类型,表示最多存储两位小数的浮点数。

REAL 数据类型

REAL 数据类型也用于存储浮点数,但是相比于 FLOAT,它通常会占用更少的空间。

语法

REAL

示例

与上面的示例类似,我们可以使用 REAL 数据类型来存储学生的 GPA。

CREATE TABLE students (
    id INT,
    name VARCHAR(50),
    gpa REAL
);

INSERT INTO students (id, name, gpa) VALUES (1, 'Alice', 3.45);
INSERT INTO students (id, name, gpa) VALUES (2, 'Bob', 2.87);

在这个示例中,我们创建了一个 students 表,其中的 gpa 列使用 REAL 数据类型。

区别和应用场景

  • FLOATREAL 都用于存储浮点数,但是基于不同的存储需求选择不同的数据类型。
  • FLOAT 提供更高的精度,但通常需要更多的存储空间,适用于需要更高精度的场景。
  • REAL 需要更少的存储空间,但相对精度也更低,适用于对存储空间有限制的场景。

总的来说,根据实际需求选择合适的数据类型来存储浮点数是非常重要的。

本文链接:http://so.lmcjl.com/news/13989/

展开阅读全文