Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ORACLE SQL घंटों की रेंज

मुझे लगता है कि आपने अपना समय प्रारूप hh24:mi . में बदल दिया है

शायद यह मदद कर सकता है:

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'
  ;

या आप between . का उपयोग कर सकते हैं इसे जांचने के लिए start_hour या end_hour मूल्यों के बीच है

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 यहां



  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 में संख्यात्मक कार्य (पूरी सूची)

  2. Oracle में स्वयं के लिए एक तालिका में शामिल होना

  3. पीएल/एसक्यूएल में शून्य सहयोगी सरणी के लिए यह जांच क्यों विफल हो रही है?

  4. TZ स्ट्रिंग प्रारूप में TimeStamp को Oracle में TimeStamp में बदलें

  5. Oracle डाटाबेस में PL/SQL कमजोर रेफ कर्सर कैसे बनाएं?