📜  PLSQL |提取函数

📅  最后修改于: 2022-05-13 01:54:23.895000             🧑  作者: Mango

PLSQL |提取函数

PLSQL EXTRACT函数用于从日期或间隔值中提取特定值,例如年、月、日或小时。

句法:

EXTRACT(field FROM source)

使用的参数:
EXTRACT函数接受两个参数:

  • field -用于指定需要提取的组件。
  • source –用于指定从中提取字段的 DATE、INTERVAL 或 TIMESTAMP 值。

可以从各种值类型中提取的字段有:

  • 日期:年、月和日。
  • 年到月的间隔:年和月
  • 天到秒的间隔:天、小时、分钟和秒。
  • 时间戳:年、月、日、时、分、秒

支持的 Oracle/PLSQL 版本:

  1. 甲骨文 12c
  2. 甲骨文 11g
  3. 甲骨文 10g
  4. 甲骨文 9i
  5. 甲骨文 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