六月 10, 2024
摘要:在本教程中,您将学习如何使用 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 文档:浮点类型