期間式
期間式は、INTERVAL
YEAR
TO
MONTH
またはINTERVAL
DAY
TO
SECOND
の値を戻します。
interval_expression::=
式expr1
およびexpr2
は、データ型DATE
、TIMESTAMP
、TIMESTAMP
WITH
TIME
ZONE
またはTIMESTAMP
WITH
LOCAL
TIME
ZONE
の値に評価される任意の式にすることが可能です。
表2-5で定義される規則に従って、日時および期間を組み合せることができます。期間の値を戻す6つの組合せは、期間式で有効です。
leading_field_precision
およびfractional_second_precision
は、0から9の任意の整数です。DAY
またはYEAR
のいずれかでleading_field_precision
を省略すると、デフォルト値である2が使用されます。秒でfractional_second_precision
を省略すると、データベースはデフォルト値である6を使用します。問合せで戻された値にデフォルトの精度を超える桁数が含まれる場合、Oracle Databaseはエラーを戻します。したがって、問合せで戻されるとわかっている値以上の精度を指定することをお薦めします。
たとえば、次の文は、システム・タイムスタンプ(日時の値)からサンプル表orders
のorder_date
列の値(別の日時の値)を減算して、期間値の式を戻します。一番古い注文が発注されたのが何日前かわからないため、DAY
の先行フィールド精度に最大値である9を指定します。
SELECT (SYSTIMESTAMP - order_date) DAY(9) TO SECOND FROM orders WHERE order_id = 2458;