PostgreSQL 教程: real 数据类型

5190 研发动态 | 2026-01-09 14:19:25

摘要:在本教程中,您将学习如何使用 PostgreSQL 的real数据类型,在数据库中存储单精度浮点数。

目录

PostgreSQL real 数据类型简介

PostgreSQL real 数据类型示例

总结

了解更多

PostgreSQL real 数据类型简介

real数据类型允许您在数据库中存储单精度浮点数。

real 类型的值占用4个字节的存储空间。其有效范围从1E-37到1E+37。

通常,您会使用real数据类型,来存储具有相对较大范围的浮点数,而且精度没那么重要,或者当您担心存储空间时也可以考虑使用。

但是,如果需要更高的精度,可以使用 double precision 数据类型。

PostgreSQL real 数据类型示例

首先,创建一个表,名为weathers,用来存储风速(米每秒)和温度(℃)数据:

CREATE TABLE weathers(

id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,

location VARCHAR(255) NOT NULL,

wind_speed_mps REAL NOT NULL,

temperature_celsius REAL NOT NULL,

recorded_at TIMESTAMP NOT NULL

);

第二步,插入行到weathers表中:

INSERT INTO weathers (location, wind_speed_mps, temperature_celsius, recorded_at)

VALUES

('New York', 5.2, 15.3, '2024-04-19 09:00:00'),

('New York', 4.8, 14.9, '2024-04-19 10:00:00'),

('New York', 6.0, 16.5, '2024-04-19 11:00:00'),

('New York', 5.5, 15.8, '2024-04-19 12:00:00'),

('New York', 4.3, 14.2, '2024-04-19 13:00:00'),

('New York', 5.9, 16.1, '2024-04-19 14:00:00'),

('New York', 6.8, 17.3, '2024-04-19 15:00:00'),

('New York', 5.1, 15.6, '2024-04-19 16:00:00'),

('New York', 4.7, 14.8, '2024-04-19 17:00:00'),

('New York', 5.3, 15.9, '2024-04-19 18:00:00');

第三步,计算日期为April 19, 2024地址在New York的平均风速和温度:

SELECT

AVG(wind_speed_mps) wind_speed,

AVG(temperature_celsius) temperature_celsius

FROM

weathers

WHERE

location = 'New York'

AND DATE(recorded_at) = '2024-04-19';

输出:

wind_speed | temperature_celsius

-------------------+---------------------

5.360000038146973 | 15.639999961853027

(1 row)

总结

使用 PostgreSQL 的real数据类型,在数据库中存储单精度浮点数。

了解更多

PostgreSQL 教程:数据类型

PostgreSQL 文档:浮点类型