EXTRACT - Amazon Kinesis Data Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

EXTRACT

EXTRACT(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND FROM <datetime expression>|<interval expression>)

提取函数从日期、时间、时间戳或间隔表达式中提取一个字段。返回除第二次以外的所有字段的 BIGINT。对于第二个,它返回十进制(5,3)并包含毫秒。

Syntax

Examples

函数 结果
EXTRACT(DAY FROM INTERVAL '2 3:4:5.678' DAY TO SECOND)

2

EXTRACT(HOUR FROM INTERVAL '2 3:4:5.678' DAY TO SECOND)

3

EXTRACT(MINUTE FROM INTERVAL '2 3:4:5.678' DAY TO SECOND)

4

EXTRACT(SECOND FROM INTERVAL '2 3:4:5.678' DAY TO SECOND)

5.678

EXTRACT(MINUTE FROM CURRENT_ROW_TIMESTAMP) where CURRENT_ROW_TIMESTAMP is 2016-09-23 04:29:26.234

29

EXTRACT (HOUR FROM CURRENT_ROW_TIMESTAMP)

其中,当前行时间戳是 2016-09-23

4

在函数中使用

REACUP 可用于调理数据,如下面的函数中所示,当当前行时间戳是 p_time 的输入。

CREATE or replace FUNCTION FLOOR30MIN( p_time TIMESTAMP ) RETURNS  TIMESTAMP CONTAINS SQL RETURNS NULL ON NULL INPUT RETURN  floor(p_time to HOUR) + (( EXTRACT (  MINUTE FROM p_time  ) / 30)* INTERVAL '30' MINUTE ) ;

您将使用代码来实现此函数,如下所示:

SELECT stream FLOOR30MIN( CURRENT_ROW_TIMESTAMP ) as ROWTIME , * from "MyStream" ) over (range current row ) as r
注意

上面的代码假定您之前创建了一个名为 “MyStream” 的流。