sql >> データベース >  >> RDS >> Oracle

Oracleで2つのタイムスタンプの差を計算する方法

    問題:

    タイプがtimestampの2つの列があります そして、それらの間の差を計算したい。

    例:

    travel テーブルには、次の3つの列があります:iddeparture 、およびarrivalarrivalの差を計算したい および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へ 。次に、完全な時間数、完全な分数、秒数が表示されます。小数点以下の桁数は秒単位です。


    1. PRVG-2027ファイルの所有者がノード間で一貫していません

    2. SQLServerでのOracleLinkedServerの作成と構成

    3. if(select count(column)from table)> 0 then

    4. 何回も何回も!データモデルでの定期的なイベントの管理