Navicat for PostgreSQL 是一套专为PostgreSQL设计的强大数据库管理及开发工具。它可以在PostgreSQL数据库7.5以上的版本中运行,并且支持大部份最新的PostgreSQL功能,包括触发器、函数检索及权限管理等。Navicat的的功能不仅可以满足专业开发人员的所有需求,而且对PostgreSQL的新手来说也相当容易学习。
Navicat Premium正版试用下载(qun:765665608 )https://www.evget.com/product/2294/download
范围类型
范围类型提供了一种简洁的方式来表示单个数据库字段中的值范围。它们在从时间数据到数字间隔的各种领域中都有应用。在本篇博客文章中,我们将通过 DML/SQL 语句和 Navicat for PostgreSQL 16 来深入了解它们的使用(以及好处!)。
理解范围类型
在 PostgreSQL 中,范围类型允许表示连续的值范围。这些范围可以是不同的数据类型,如数值、日期或时间戳。例如,范围可能表示一段时间,一组温度或一个产品价格范围。
实例:跟踪租赁时长
假设,我们想在免费的 dvdrental sample database数据库中追踪租赁的时长。我们可以使用范围类型来有效地存储租赁持续时间。以下是创建和填充新的“rentals_with_rental_period”表的语句:
CREATE TABLE rentals_with_rental_period ( rental_id SERIAL PRIMARY KEY, customer_id INT, rental_duration INT, rental_period DATERANGE ); INSERT INTO rentals_with_rental_period (customer_id, rental_duration, rental_period) VALUES (1, 7, '[2024-02-01, 2024-02-08]'), (2, 5, '[2024-01-15, 2024-01-20]');
在 Navicat,我们可以通过表设计器来创建我们的表:
创建表后,我们可以向表中添加数据。请确保范围类型的值以方括号“[”开头,并以圆括号“)”结束。这样就告诉了 Navicat,这些值属于一个范围:
在本例中,“rental_period”列存储了表示每次租赁开始和结束日期的范围。我们可以使用 @> 运算符轻松查询包含特定日期的租赁:
扩展应用:数值区间
范围类型不仅限于时间数据。他们也可以用于表示数值区间。例如,假设产品的价格可以根据购买的数量在一定范围内变化,我们可以使用范围类型来有效地构建它:
CREATE TABLE product_price ( product_id SERIAL PRIMARY KEY, price_range NUMRANGE ); INSERT INTO product_price (price_range) VALUES ('[10.00, 20.00)'), ('[20.00, 30.00)'), ('[30.00, )');
在本例中,“price_range”列存储了表示每个产品的最低和最高价格范围。我们可以使用 @> 运算符来查询指定价格范围内的产品:
SELECT * FROM product_price WHERE price_range @> 25.00;
PostgreSQL 中的范围类型提供了表示和查询连续值范围的一种强大方式。无论是处理时间数据、数值区间还是其他连续值,范围类型都提供了一种简洁且高效的解决方案。通过利用范围类型,开发人员可以增强其数据库模式的表达能力和灵活性,为构建更复杂的应用程序奠定基础。
热门数据库管理工具:
DBeaver:全面支持JDBC的通用数据库管理和SQL客户端工具。
Navicat Premium:能同时连接多种数据库,方便管理的工具。
SQL DBA Bundle:专为SQL Server数据库开发设计的辅助工具包。
以上便是此次的推荐,用户在选择设计工具时,需要结合支持的数据库引擎、DDL/SQL脚本生成能力、数据库模型验证、逆向工程,以及合作功能、用户友好性、报告功能,以及质量的客户支持服务等因素考量。