PLSQL |提取函数
PLSQL EXTRACT函数用于从日期或间隔值中提取特定值,例如年、月、日或小时。
句法:
EXTRACT(field FROM source)
使用的参数:
EXTRACT函数接受两个参数:
- field -用于指定需要提取的组件。
- source –用于指定从中提取字段的 DATE、INTERVAL 或 TIMESTAMP 值。
可以从各种值类型中提取的字段有:
- 日期:年、月和日。
- 年到月的间隔:年和月
- 天到秒的间隔:天、小时、分钟和秒。
- 时间戳:年、月、日、时、分、秒
支持的 Oracle/PLSQL 版本:
- 甲骨文 12c
- 甲骨文 11g
- 甲骨文 10g
- 甲骨文 9i
- 甲骨文 8i
示例 1:从 DATE 值中提取 YEAR 字段的值。
SELECT
EXTRACT(YEAR FROM DATE '2019-10-26')
FROM
DUAL;
输出:
2019
示例 2:从 DATE 值中提取月份字段的值。
SELECT
EXTRACT(YEAR FROM DATE '2019-10-26')
FROM
DUAL;
输出:
10
示例 3:从 DATE 值中提取日期字段的值。
SELECT
EXTRACT(YEAR FROM DATE '2019-10-26')
FROM
DUAL;
输出:
26
示例 4:从 INTERVAL YEAR TO MONTH 中提取年份字段的值。
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