PostgreSQL日期和時間函式


所有重要的日期和時間相關函式如下列表所示:

函式 描述
AGE() 減去引數
CURRENT DATE/TIME() 它指定當前日期和時間。
DATE_PART() 獲取子欄位(相當於提取)
EXTRACT() 獲得子欄位
ISFINITE() 測試有限的日期,時間和間隔(非+/-無窮大)
JUSTIFY 調整間隔

AGE(timestamp,timestamp)&AGE(timestamp):

函式 描述
age(timestamp, timestamp) 當使用第二個引數的時間戳形式呼叫時,age()減去引數,產生使用年數和月份的型別為「interval」的「符號」結果。
age(timestamp) 當僅使用時間戳作為引數呼叫時,age()current_date(午夜)減去。

AGE()函式例子

按Ctrl + E開啟查詢編輯器,執行此查詢範例:

SELECT AGE(timestamp '2017-01-26', timestamp '1951-08-15');

執行上面語句得到以下結果 -

函式AGE(timestamp)的範例

它用於生產當前年齡。

執行上面語句得到以下結果 -

SELECT AGE(timestamp '1990-08-15');

執行上面語句得到以下結果 -

當前DATE/TIME()

以下是返回與當前日期和時間相關的值的函式的列表。

函式 描述
CURRENT_DATE 提供當前日期
CURRENT_TIME 提供帶時區的值
CURRENT_TIMESTAMP 提供帶時區的值
CURRENT_TIME(precision) 可以選擇使用precision引數,這將使結果在四分之一秒的範圍內四捨五入到數位數。
CURRENT_TIMESTAMP(precision) 可以選擇使用精度引數,這將使結果在四分之一秒的範圍內四捨五入到數位數。
LOCALTIME 提供沒有時區的值。
LOCALTIMESTAMP 提供沒有時區的值。
LOCALTIME(precision) 可以選擇使用精度引數,這將使結果在四分之一秒的範圍內四捨五入到數位數。
LOCALTIMESTAMP(precision) 可以選擇使用精度引數,這將使結果在四分之一秒的範圍內四捨五入到數位數。

現在,您可以來看看以下命令:

獲取當前時間:

SELECT CURRENT_TIME;

獲取當前日期:

SELECT CURRENT_DATE;

獲取當前時間戳(兩者的日期和時間)

SELECT CURRENT_TIMESTAMP;

當前時間戳更精確:

SELECT CURRENT_TIMESTAMP(2);

本地時間戳:

SELECT LOCALTIMESTAMP;