翻譯|行業資訊|編輯:胡濤|2024-04-07 10:35:42.720|閱讀 79 次
概述:本文繼續為你介紹,探索 PostgreSQL 的高級數據類型 - 第2部分,歡迎繼續查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Navicat for PostgreSQL 是一套專為PostgreSQL設計的強大數據庫管理及開發工具。它可以在PostgreSQL數據庫7.5以上的版本中運行,并且支持大部份最新的PostgreSQL功能,包括觸發器、函數檢索及權限管理等。Navicat的的功能不僅可以滿足專業開發人員的所有需求,而且對PostgreSQL的新手來說也相當容易學習。
范圍類型
范圍類型提供了一種簡潔的方式來表示單個數據庫字段中的值范圍。它們在從時間數據到數字間隔的各種領域中都有應用。在本篇博客文章中,我們將通過 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腳本生成能力、數據庫模型驗證、逆向工程,以及合作功能、用戶友好性、報告功能,以及質量的客戶支持服務等因素考量。
數據庫管理工具交流群:7645665608 歡迎進群交流討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn