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

ORACLE SQL Rentang jam

Saya berasumsi bahwa Anda telah mengonversi format waktu Anda menjadi hh24:mi

mungkin ini bisa membantu:

with tab as(
select 'date1' as dat,  '09:00' as  start_hour, '09:30' as end_hour from dual union all
select 'date1' as dat,  '10:30' as  start_hour, '11:30' as end_hour from dual union all
select 'date1' as dat,  '13:00' as  start_hour, '15:00' as end_hour from dual 
)
SELECT COUNT(*)
  FROM   tab
  WHERE  start_hour <= '09:10' --:new_end_hour
  AND    end_hour   >= '07:00' --:new_start_hour
  AND    dat = 'date1'
  ;

atau Anda dapat menggunakan between untuk memeriksanya start_hour atau end_hour berada di antara nilai

with tab as(
select 'date1' as dat,  '09:00' as  start_hour, '09:30' as end_hour from dual union all
select 'date1' as dat,  '10:30' as  start_hour, '11:30' as end_hour from dual union all
select 'date1' as dat,  '13:00' as  start_hour, '15:00' as end_hour from dual 
)
SELECT COUNT(*)
  FROM   tab
  WHERE  ('09:00' between start_hour and end_hour
  or    '09:10' between start_hour and end_hour
  )
  AND    dat = 'date1'
  ;

db<>fiddle di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana cara menyimpan tanggal DAN waktu dengan JPA di Oracle?

  2. Cara menambahkan string ke klausa where di APEX Interactive Report SQL

  3. Apa praktik terbaik untuk memigrasi database Oracle 10g ke Microsoft SQL 2008 R2? Aplikasi menggunakan Hibernate

  4. Cara memanggil fungsi Oracle dengan Kursor Ref sebagai parameter Keluar dari Visual Basic

  5. Basis Data Produksi Baru