函数EXTRACT用于从日期/时间字段中获取像年份或小时这样的子字段。函数EXTRACT返回值的类型是DOUBLE PRECISION。
YEAR
表示年的字段。
SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL;
date_part
-----------
2001
(1 row)
MONTH
表示一年中的月份(1-12)。
SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL;
date_part
-----------
2
(1 row)
DAY
表示一个月中的日期(1-31)。
SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL;
date_part
-----------
16
(1 row)
HOUR
表示小时字段(0-23)。
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL;
date_part
-----------
20
(1 row)
MINUTE
表示分钟字段(0-59)。
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL;
date_part
-----------
38
(1 row)
SECOND
表示秒字段,包含小数部分(0-59)。
SELECT EXTRACT(SECOND FROM TIMESTAMP '2001-02-16 20:38:40') FROM DUAL;
date_part
-----------
40
(1 row)