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

Oracleでデータ型charを使用して合計時間を計算する方法

    WITH x AS (
      SELECT t1.time_rent AS t1,
             t2.time_rent AS t2,
             ((SUBSTR(t1.time_rent,1,2) * 3600) + (SUBSTR(t1.time_rent,4,2) * 60)
             + (SUBSTR(t2.time_rent,1,2) * 3600) + (SUBSTR(t2.time_rent,4,2) * 60)) AS t 
       FROM table1 t1 
       INNER JOIN Table2 t2 
       ON t1.name=t2.name
      ),
    y AS(
       SELECT t1,
              t2,
              numtodsinterval(t,'second') AS t
              FROM x
    )
    SELECT T1,
           T2,
           (EXTRACT(day FROM t) * 24 + EXTRACT(hour FROM t) ||':' || 
           EXTRACT(minute FROM t) ||':' || EXTRACT(second FROM t)) AS duration 
           FROM y
    

    出力

    T1      T2      DURATION
    07:30   18:30   26:0:0
    

    ライブデモ



    1. AzurePortalとWorkbenchを使用してMySQLServer用のAzureデータベースを作成およびデプロイする方法

    2. Entity FrameworkがネストされたSQLクエリを生成するのはなぜですか?

    3. DBMS_METADATA およびその他のパッケージが無効です

    4. Oracle NULLIF()関数