資料庫

PostgreSQL 資料庫時間區間 INTERVAL 用法教學

介紹如何在 PostgreSQL 資料庫中使用 INTERVAL 資料型別儲存時間區間資料。

PostgreSQL 資料庫的 INTERVAL 是專門用來儲存時間區間的資料類型,以下是使用的教學與範例。

這是建立資料表的範例,其中 my_int 就是用來儲存時間區間的欄位:

-- 建立資料表
CREATE TABLE my_table (
  id serial PRIMARY KEY,
  name varchar(50),
  my_int interval  -- 時間區間欄位
);
CREATE TABLE

建立資料表之後,接著插入資料,時間區間的表示方法有很多種,以下是一些常見的範例:

-- 插入資料
INSERT INTO my_table (name, my_int) VALUES
  ('Mary',  '46:29:15'),
  ('Joe',   'P1-3-15'),
  ('Abbot', '3 4:05:09'),
  ('Bardo', 'P1Y2M3DT4H5M6S'),
  ('Ketty', '1 year 2 months 3 days 4 hours 5 minutes 6 seconds');
INSERT 0 5

插入資料的結果如下:

-- 查看資料
SELECT * FROM my_table;
 id | name  |            my_int             
----+-------+-------------------------------
  1 | Mary  | 46:29:15
  2 | Joe   | 1 year 3 mons 15 days
  3 | Abbot | 3 days 04:05:09
  4 | Bardo | 1 year 2 mons 3 days 04:05:06
  5 | Ketty | 1 year 2 mons 3 days 04:05:06
(5 rows)

更多關於時間區間表示法,請參考 PostgreSQL 的文件

以下是以時間區間條件來查詢資料的範例:

-- 查詢超過 1 年 3 個月的資料
SELECT * FROM my_table WHERE my_int > '1 year 3 months';
 id | name |        my_int         
----+------+-----------------------
  2 | Joe  | 1 year 3 mons 15 days
(1 row)
-- 查詢介於 1 天與 3 天的資料
SELECT * FROM my_table WHERE my_int BETWEEN '1 day' AND '3 days';
 id | name |  my_int  
----+------+----------
  1 | Mary | 46:29:15
(1 row)

測試完之後,刪除測試用的資料表:

-- 刪除資料表
DROP TABLE my_table;

參考資料:PostgreSQL TutorialPostgreSQL

Share
Published by
Office Guide
Tags: PostgreSQL

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago