PLSQL EXTRACT函数用于从日期或间隔值中提取特定值,例如年,月,日或小时。
用法:
EXTRACT(field FROM source)
使用的参数:
EXTRACT函数接受两个参数:
field –它用于指定需要提取的组件。
source –它用于指定从中提取字段的DATE,INTERVAL或TIMESTAMP值。
可以从各种值类型中提取的字段是:
日期:年,月和日。
每月间隔:年和月
第二天的间隔:DAY,HOUR,MINUTE和SECOND。
时间戳:年,月,日,小时,分钟,秒
支持的Oracle /PLSQL版本:
甲骨文12c
甲骨文11g
甲骨文10g
甲骨文9i
甲骨文8i
示例1:从DATE值中提取YEAR字段的值。
SELECT
EXTRACT(YEAR FROM DATE '2019-10-26')
FROM
DUAL;
输出:
2019
示例2:从DATE值中提取month字段的值。
SELECT
EXTRACT(YEAR FROM DATE '2019-10-26')
FROM
DUAL;
输出:
10
示例3:从DATE值中提取day字段的值。
SELECT
EXTRACT(YEAR FROM DATE '2019-10-26')
FROM
DUAL;
输出:
26
示例4:从“间隔年到月”中提取年字段的值。
SELECT
EXTRACT( YEAR FROM INTERVAL '7-3' YEAR TO MONTH )
FROM
DUAL;
输出:
7
在上面的示例中,提到的参数“ 7-3”表示7年零3个月。
示例5:从INTERVAL DAY TO SECOND中提取日字段的值。
SELECT
EXTRACT( DAY FROM INTERVAL '26 10:32:29.53' DAY TO SECOND )
FROM
dual;
输出:
26
在上面的示例中,提到的参数“ 26 10:32:29.53”表示26天10小时32分钟29秒。
示例6:从时间戳中提取年份字段的值。
SELECT
EXTRACT( YEAR FROM TIMESTAMP '2019-10-26 12:57:34.10' )
FROM
dual;
输出:
2019