Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle sql menemukan perbedaan waktu (keduanya waktu dalam string)

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>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. REGEXP_SUBSTR() Fungsi di Oracle

  2. ACOS() Fungsi di Oracle

  3. Bagaimana cara menerapkan pengambilan batch dengan Fluent NHibernate saat bekerja dengan Oracle?

  4. Bagaimana Anda mendapatkan hasil yang diformat dengan baik dari prosedur Oracle yang mengembalikan kursor referensi?

  5. Penyedia Data OleDB tidak dapat ditemukan VBA/Excel