EXTRACT関数は、指定された日時フィールドの値を、日時または時間隔の値の式からNUMBERデータ型として抽出して返します。 この関数は、日時フィールドの値を非常に大きな表で操作する場合に役立つことがあります。
TimesTen型モードを使用している場合、EXTRACT関数の詳細は、TimesTenの以前のリリースのドキュメントを参照してください。
SQL構文
EXTRACT (DateTimeField FROM IntervalExpression | DateTimeExpression)
パラメータ
EXTRACTには、次のパラメータがあります。
パラメータ | 説明 |
---|---|
DateTimeField |
IntervalExpression またはDateTimeExpression から抽出されるフィールドです。指定できるフィールドは、YEAR、MONTH、DAY、HOUR、MINUTEまたはSECONDです。 |
IntervalExpression |
時間隔の結果です。 |
DateTimeExpression |
日時の式です。たとえば、TIME、DATE、TIMESTAMPなどです。 |
説明
DateTime
フィールドとDateTime
またはinterval
の値の式を組み合せた結果が、あいまいになる場合があります。この場合、TimesTenではUNKNOWNが返されます。
抽出するフィールドは、IntervalExpression
または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.