PostgreSQL日期操作指南

一、入門概述

PostgreSQL是一種開源的對象關係型數據庫,它支持高級數據類型,例如數組、JSON等,這讓它成為了數據分析、地理信息系統、傳感器等領域的首選。PostgreSQL提供完整的日期/時間操作支持,其中也包括了日期類型的處理。在這一章中,我們會學習如何使用PostgreSQL中的日期類型以及與日期相關的各種函數、操作符等等。

二、日期類型的數據結構

PostgreSQL中定義日期類型為”date”,它佔4個字節的存儲空間。日期類型的值由年、月、日所組成,其範圍為公元前4713年到公元後5874897年。當需要對某個日期進行計算時,需要使用 “interval” 類型代表時間間隔。 “time” 類型代表一段時間內的具體時刻。

CREATE TABLE example(
    id INTEGER PRIMARY KEY,
    mydate DATE,
    myinterval INTERVAL,
    mytime TIME
);

三、日期函數

1. date_part函數

date_part函數可用於從日期/時間值中提取特定部分。函數接受兩個參數:第一個參數指定部分,第二個參數指定時間戳或日期。它支持的部分有:年、月、日、小時、分鐘、秒。該函數返回一個DOUBLE PRECISION值,可以是整數或小數

SELECT date_part('hour', TIMESTAMP '2020-05-11 13:50:10');
-- 返回 13
SELECT date_part('minute', TIMESTAMP '2020-05-11 13:50:10') as column;
-- 返回 50

2. date_trunc函數

date_trunc函數用於截斷日期或時間戳以生成所需的結果。函數接受兩個參數:第一個參數指定截斷部分,第二個參數指定時間戳或日期。它支持的截斷部分有:年、月、日、小時、分鐘、秒

SELECT date_trunc('year', TIMESTAMP '2020-05-11 13:50:10');
-- 返回 2020-01-01 00:00:00
SELECT date_trunc('hour', TIMESTAMP '2020-05-11 13:50:10');
-- 返回 2020-05-11 13:00:00

3. current_date函數

current_date函數返回當前系統日期

SELECT current_date;
-- 返回當前日期:2021-08-19

4. age函數

age函數用於計算日期之間的差異。函數接受兩個參數,分別是開始和結束日期。當第一個日期早於第二個日期時,函數返回的值為正數

SELECT age(DATE '2021-08-01', DATE '2021-08-19');
-- 返回: 18 days

四、日期操作符

1. + / – 操作符

在PostgreSQL中,可以使用 + 操作符將日期/時間戳與時間間隔相加,或使用 – 操作符將兩個日期/時間戳相減得出時間間隔。

SELECT DATE '2021-08-01' + INTERVAL '3 months';
-- 返回 2021-11-01
SELECT TIMESTAMP '2021-08-19 10:30:00' - TIMESTAMP '2021-08-19 10:00:00';
-- 返回 00:30:00

2. << 操作符

該操作符用於比較兩個日期/時間戳是否為同一天。

SELECT DATE '2021-08-19' << DATE '2021-08-20';
-- 返回 true
SELECT TIMESTAMP '2021-08-19 12:00:00' << TIMESTAMP '2021-08-20 01:30:00';
-- 返回 false

3. >> 操作符

該操作符用於比較兩個日期/時間戳是否為連續的兩天。即第一個日期/時間戳加一天後是否與第二個日期/時間戳相同。

SELECT DATE '2021-08-19' >> DATE '2021-08-20';
-- 返回 false
SELECT DATE '2021-08-19' >> DATE '2021-08-20' - INTERVAL '1 day';
-- 返回 true

五、日期類型的數據輸入與輸出

PostgreSQL遵循ISO格式:YYYY-MM-DD來表示日期。同時PostgreSQL也支持其他常用的日期格式。例如:

SELECT DATE '2021/08/19';
-- 返回 2021-08-19
SELECT DATE '19-Aug-2021';
-- 返回 2021-08-19
SELECT TIMESTAMP '2021-08-19 12:30:00+08';
-- 返回 2021-08-19 12:30:00

總結

PostgreSQL提供了豐富的日期/時間處理操作,包括日期函數、日期操作符等,使得我們可以更簡單、方便地處理日期類型的數據。同時PostgreSQL也支持對不同格式的日期數據進行輸入輸出操作。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/239147.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:15
下一篇 2024-12-12 12:15

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python獲取當前日期的多種方法

    本文介紹如何使用Python獲取當前日期,並提供了多種方法,包括使用datetime模塊、time模塊以及第三方庫dateutil等。讓我們一步一步來看。 一、使用datetime…

    編程 2025-04-29
  • Python按照日期畫折線圖

    本文將為您詳細介紹如何使用Python按照日期(時間)來畫折線圖。 一、準備工作 首先,我們需要安裝Matplotlib包,該包提供了各種繪圖函數,包括折線圖、柱形圖、散點圖等等。…

    編程 2025-04-28
  • Python如何輸入日期

    Python是一種非常流行的編程語言,它可以讓開發人員輕鬆地處理日期時間。在本文中,我們將詳細介紹Python如何輸入日期的方法,無論您是在處理日期時間的數據分析還是在創建Web應…

    編程 2025-04-28
  • 使用JavaScript日期函數掌握時間

    在本文中,我們將深入探討JavaScript日期函數,並且從多個視角介紹其應用方法和重要性。 一、日期的基本表示與獲取 在JavaScript中,使用Date對象來表示日期和時間,…

    編程 2025-04-28
  • 有關日期的情感文化

    有關日期的情感文化是指在不同文化和地域中,人們賦予日期不同的情感和文化內涵。它既反映了人們對時間的認知和理解,也展示了不同文化的特點和傳統習俗。本文將從節日、紀念日、生日等不同方面…

    編程 2025-04-27
  • 高二會考Python操作指南

    本篇文章將從基礎語法、數據類型、函數、模塊庫等多方面對高二會考Python操作進行詳細闡述,幫助大家順利通過高考。 一、基礎語法 Python是一門高級編程語言,相對於其他低級語言…

    編程 2025-04-27
  • Python日期加減

    本文介紹如何使用Python3進行日期加減操作。 一、日期加減介紹 日期加減常用於計算時間跨度,也可用於日期的調整。Python3中提供了datetime模塊支持日期加減,其中ti…

    編程 2025-04-27
  • Excel日期函數

    Excel是當前企業和個人使用非常廣泛的辦公軟件之一。其中的日期函數可以用於處理各種涉及日期和時間的任務。本文將從不同的方面介紹Excel日期函數,幫助讀者深入了解和熟練使用日期函…

    編程 2025-04-25
  • SQLServer日期格式轉換指南

    一、轉換日期格式的基本概念 在SQLServer中,日期格式的轉換屬於數據類型轉換的一種。日期格式轉換的基本原則是將日期型數據格式化成字符串型數據,而不改變數據的原始類型和值。 在…

    編程 2025-04-25

發表回復

登錄後才能評論