EXTRACT

EXTRACT関数は、指定された日時フィールドの値を、日時または時間隔の値の式からNUMBERデータ型として抽出して返します。この関数は、日時フィールドの値を非常に大きな表で操作する場合に役立つことがあります。

SQL構文

EXTRACT (DateTimeField FROM IntervalExpression | DateTimeExpression)

パラメータ

EXTRACTには、次のパラメータがあります。

パラメータ 説明

DateTimeField

IntervalExpressionまたはDateTimeExpressionから抽出されるフィールドです。指定できるフィールドは、YEAR、MONTH、DAY、HOUR、MINUTEまたはSECONDです。

IntervalExpression

時間隔の結果です。

DateTimeExpression

日時の式です。たとえば、TIME、DATE、TIMESTAMPなどです。

説明

  • DateTimeFieldとDateTimExpressionまたはIntervalExpressionの組合せが、あいまいな結果になることがあります。この場合、TimesTenではUNKNOWNが返されます。

  • 抽出するフィールドは、IntervalExpression or DateTimeExpressionのフィールドにする必要があります。たとえば、DATE値からは、YEAR、MONTHおよびDAYのみを抽出できます。同様に、TIME、DATEまたはTIMESTAMPデータ型からは、HOUR、MINUTEまたはSECONDのみを抽出できます。

  • フィールドは、NUMBER値に抽出されます。

例

次に、秒のフィールドを時間隔の結果sysdate-t1.createtimeから抽出する例を示します。

SELECT EXTRACT(SECOND FROM sysdate-t1.createtime) FROM t1;

次に、秒のフィールドをシステム表dualのsysdateから抽出する例を示します。

Command> SELECT EXTRACT (SECOND FROM sysdate) FROM dual;
< 20 >
1 row found.