時間間隔式(Interval Expression)は、INTERVAL YEAR TO MONTHまたはINTERVAL DAY TO SECONDデータ型の値を生成します。
時間間隔式の構文は以下のとおりです:
INTERVAL string
{ DAY [ (leading_field_precision) ] TO
SECOND [ (fractional_second_precision) ]
| YEAR [ (leading_field_precision) ] TO
MONTH
}
leading_field_precision と fractional_second_precision は0~9の任意の整数であることができます。これら2つのパラメータは、対応する要素値の精度を指定します。DAY および YEAR 要素を指定する際に leading_field_precision パラメータを省略した場合、そのデフォルト値である2が使用され、その要素の値は2桁の整数を超えてはならないことを意味します。SECOND 要素について fractional_second_precision パラメータを省略した場合、デフォルト値は6であり、その値は小数点以下6位まで正確であることを意味します。クエリの戻り値がデフォルトの精度桁数よりも多い場合、OceanBaseデータベースはエラーを返します。
以下の例は INTERVAL DAY TO SECOND 型の値を示しています。
obclient> SELECT INTERVAL '999999999 23:59:59.999' day(9) to second FROM DUAL;
+-----------------------------------------------+
| INTERVAL'99999999923:59:59.999'DAY(9)TOSECOND |
+-----------------------------------------------+
| +999999999 23:59:59.999000 |
+-----------------------------------------------+
1 row in set