Oracle
 sql >> база данни >  >> RDS >> Oracle

как да изчисля сумарно време с тип данни char в oracle

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с Oracle, като използвате име на услуга вместо SID

  2. Възможно ли е блокиране при актуализиране и изтриване на различни редове в таблица?

  3. съединете три таблици за конкретен резултат

  4. java.sql.SQLException:ORA-01652:не може да се разшири временен сегмент с 128 в таблично пространство TEMP (дори след разширяване)

  5. Функция SINH() в Oracle