問題:
タイプがtimestampの2つの列があります そして、それらの間の差を計算したい。
例:
travel テーブルには、次の3つの列があります:id 、departure 、およびarrival 。 arrivalの差を計算したい およびdeparture 。
travel テーブルは次のようになります:
| id | 出発 | 到着 |
|---|---|---|
| 1 | 2018-03-25 12:00:00 | 2018-04-05 07:30:00 |
| 2 | 2019-09-12 15:50:00 | 2019-10-23 10:30:30 |
| 3 | 2018-07-14 16:15:00 | 2018-07-14 20:40:30 |
| 4 | 2018-01-05 08:35:00 | 2019-01-08 14:00:00 |
解決策:
SELECT id, departure, arrival, arrival - departure AS difference FROM travel;
結果は次のとおりです。
| id | 出発 | 到着 | 違い |
|---|---|---|---|
| 1 | 2018-03-25 12:00:00 | 2018-04-05 07:30:00 | 10 19:30:0.0 |
| 2 | 2019-09-12 15:50:00 | 2019-10-23 10:30:30 | 40 18:40:30.0 |
| 3 | 2018-07-14 16:15:00 | 2018-07-14 20:40:30 | 0 4:25:30.0 |
| 4 | 2018-01-05 08:35:00 | 2019-01-08 14:00:00 | 368 5:25:0.0 |
ディスカッション:
Oracleのタイムスタンプ間の差を計算するには、終了タイムスタンプから開始タイムスタンプを引くだけです(ここではarrival -departure )。結果の列はINTERVAL DAY TO SECONDになります 。最初に表示される数値は、departureから経過した日数です。 arrivalへ 。次に、完全な時間数、完全な分数、秒数が表示されます。小数点以下の桁数は秒単位です。