時間間隔式(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