TIMESTAMP:表示"時間戳"(日期+時間)
TIME:表示"時間"(最大單位為小時)
DATE:日期(年+月+日)
INTERVAL:表示一段時間(上面兩單位相減的結果)
Postgres支援自動偵測時間的格式,將輸入的字串轉型為TIMESTAMP的格式即可
有了時間就會涉及到時區的設定,在直接將字串做轉型的情況下,Postgres是不會記錄時區的,相當於轉成TIMESTAMP WITHOUT TIME ZONE,如果需要紀錄時區的話就轉成TIMESTAMP WITH TIME ZONE,也可以選擇性在字串的後面加上時區名稱以指定儲存的時區。
(指定時區的情形)
由於Postgres資料庫支援日期字串的偵測,所以一樣透過轉型的方式就可以了
透過字串轉型來產生INTERVAL的資料型態
兩個INTERVAL之間可以互相加減
也可以將INTERVAL和日期與時間相關的資料型態做加減
如果將兩個TIMESTAMP相減,回傳的就是INTERVAL的資料型態
(有關兩個時間資料型態進行運算之後會回傳的資料型態,可以參考這篇文件
https://www.postgresql.org/docs/current/functions-datetime.html#OPERATORS-DATETIME-TABLE
)
可以使用TO_CHAR() funtion來達到目的,左邊參數放timestamp,右邊放format string
(格式化的參數,可以參考以下文件:
https://docs.postgresql.tw/the-sql-language/functions-and-operators/data-type-formatting-functions
)