Anda memiliki desain yang cacat .
- Anda tidak boleh menyimpan waktu tanggal nilai sebagai string .
- TANGGAL selalu memiliki elemen tanggal dan waktu, jadi tidak perlu menyimpan elemen waktu secara terpisah.
Bagaimanapun, sebagai solusinya, Anda harus terlebih dahulu mengonversi string menjadi tanggal dan kemudian menemukan durasinya dalam detik , tambahkan detik ke TRUNC(SYSDATE)
, maka sisanya adalah pemformatan tanggal simple .
Misalnya,
SQL> WITH sample_data AS(
2 SELECT '21:30:03' START_TIME, '21:34:11' END_TIME FROM dual
3 )
4 SELECT start_time,
5 end_time,
6 TO_CHAR (TRUNC (SYSDATE) + (to_date(end_time, 'HH24:MI:SS') -
7 to_date(start_time, 'HH24:MI:SS')
8 ) , 'hh24:mi:ss' ) duration
9 FROM sample_data;
START_TI END_TIME DURATION
-------- -------- --------
21:30:03 21:34:11 00:04:08
SQL>