1. 程式人生 > >extract函式的使用

extract函式的使用

EXTRACT(field FROM source)

extract函式從日期/時間數值裡抽取子域,比如年、小時等。

source必須是一個timestamp, time, interval型別的值表示式(型別為date的表示式轉換為 timestamp,因此也可以用)。

field 是一個識別符號或者字串,它指定從源資料中抽取的域。

extract 函式返回型別為double precision的數值。

提取年份

SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 2001

提取月份

<!-- 對於timestamp值,它是一年裡的月份數(1-12);對於interval值, 它是月的數目,然後對 12 取模(0-11) -->

SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 2

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');
Result: 3

SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');
Result: 1

提取日期

<!-- 對於timestamp值,(月份)裡的日期(1-31);對於interval,天數 -->
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 16

SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');
Result: 40