INTERVAL DAY TO SECOND は、日、時間、分、秒単位の期間を格納できます。このデータ型は、2つの日付時刻値の正確な差を表すために使用できます。本記事では、主に INTERVAL DAY TO SECOND データ型の構文、パラメータ、使用方法について説明します。
構文
INTERVAL DAY [(precision)] TO SECOND [(fractional_seconds_precision)]
パラメータ
パラメータ |
値 |
説明 |
|---|---|---|
| precision | [0,9] | DAY要素の精度を表します。デフォルト値は2です。 |
| fractional_seconds_precision | [0,9] | SECOND要素の小数部の精度を表します。デフォルト値は6です。 |
使用方法
INTERVAL DAY TO SECOND データ型の値を挿入する際にサポートされる形式は、次の表のとおりです。間隔データ型の値の指定に関する詳細は、間隔リテラルを参照してください。
構文 |
例 |
説明 |
|---|---|---|
| INTERVAL 'dd hh:mm:ss' DAY(precision) TO SECOND(fractional_seconds_precision) | INTERVAL '140 5:12:10.2222222' DAY(3) TO SECOND(7) | 140日5時間12分10.2222222秒の間隔を表します。 |
| INTERVAL 'dd hh'DAY(precision) TO HOUR | INTERVAL '400 5' DAY(3) TO HOUR | 400日5時間の間隔を表します。 |
| INTERVAL 'dd hh:mm'DAY(precision) TO MINUTE | INTERVAL '4 5:12' DAY TO MINUTE | 4日5時間12分の間隔を表します。 |
| INTERVAL 'hh:mm' HOUR TO MINUTE | INTERVAL '11:20' HOUR TO MINUTE | 11時間20分の間隔を表します。 |
| INTERVAL 'hh:mm:ss' HOUR TO SECOND(fractional_seconds_precision) | INTERVAL '11:12:10.2222222' HOUR TO SECOND(7) | 11時間12分10.2222222秒の間隔を表します。 |
| INTERVAL 'dd' DAY(precision) | INTERVAL '14' DAY | 14日の間隔を表します。 |
| INTERVAL 'hh' HOUR | INTERVAL '160' HOUR | 160時間の間隔を表します。 |
| INTERVAL 'mm' MINUTE | INTERVAL '14' MINUTE | 14分の間隔を表します。 |
| INTERVAL 'ss' SECOND(fractional_seconds_precision) | INTERVAL '14.666' SECOND(2, 3) | 14.666秒の間隔を表します。 |
間隔と他の日付型の計算
OceanBaseデータベースはデータ型間の変換をサポートしているため、間隔データ型の値は他の日付値と数学的演算を行うことができます。ただし、データ型間で任意の加算、減算、乗算、除算を行うことはサポートされていません。
現在サポートされている日付型の計算マトリックス図を確認し、より詳細なデータ型変換の情報については、DATEとINTERVALの計算およびデータ型変換ルールを参照してください。
間隔と他のデータ型の計算例については、INTERVAL YEAR TO MONTH データ型を参照してください。
例
テーブル Interval_Sample に INTERVAL DAY TO SECOND 型の interval1 列と interval2 列を作成し、それぞれに数値を挿入します。
CREATE TABLE Interval_Sample (interval1 INTERVAL DAY TO SECOND, interval2 INTERVAL DAY(3) TO SECOND(3));
INSERT INTO Interval_Sample (interval1, interval2) VALUES ( INTERVAL '15 06:10:08' DAY TO SECOND, INTERVAL '150 06:10:08' DAY(3) TO SECOND(3));
obclient> SELECT * FROM Interval_Sample;
+---------------------+-------------------+
| INTERVAL1 | INTERVAL2 |
+---------------------+-------------------+
| +15 06:10:08.000000 | +150 06:10:08.000 |
+---------------------+-------------------+
1 row in set