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

Oracle PLSQL डेटाटाइम्स को 15 मिनट के ब्लॉक में छोटा करता है

इससे आपको निकटतम तिमाही मिल जाएगी।

select sysdate,
       trunc(sysdate,'mi') -                           --truncate to the nearest minute
       numtodsinterval(                                --convert the minutes in number to interval type and subtract.
                       mod(to_char(sysdate,'mi'),15),  --find the minutes from the nearest quarter
                      'minute'                          
                      ) as nearest_quarter
  from dual;

आउटपुट:

sysdate                             nearest_quarter
-----------------------------------------------------------------
October, 11 2013 05:54:24+0000      October, 11 2013 05:45:00+0000
October, 11 2013 05:22:24+0000      October, 11 2013 05:15:00+0000

इसे अपने शुरुआती मूल्य के रूप में प्रयोग करें और फिर इस पर पुनरावृति करें।

with cte as(
  select trunc(sysdate,'mi') - 
         numtodsinterval(mod(to_char(sysdate,'mi'),15),'minute') as nearest_quarter
  from dual
  )
select nearest_quarter - numtodsinterval((level - 1)*15, 'minute'),
       nearest_quarter - numtodsinterval((level - 2)*15, 'minute')
from cte
connect by level <= 10;

डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑटो कमिट के साथ ऑरैकल टेबल बनाएं

  2. NLSLANG को बिना हजार सेपरेटर के सेट करें

  3. UUID अधिकतम वर्ण लंबाई

  4. Oracle में एक कॉलम में पंक्ति गणना पास करें

  5. रिमोट क्लाइंट से Oracle 10g से कैसे जुड़ें?