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

एक तिमाही में महीनों और समूह महीनों में विभाजन कैसे करें

आपके द्वारा आजमाए गए समाधान के साथ समस्या यह है कि आप एक चरण से चूक रहे हैं।

यदि आपके क्वार्टर "मानक" तिमाहियों से एक महीने दूर हैं, तो - एक तारीख दी गई है, कोई भी तारीख - आपको तारीख को एक महीने आगे बढ़ाना होगा, फिर तिमाही में कटौती करें और फिर एक महीने तक वापस खींच लें। आपने चरण 2 और 3 किया लेकिन आप चरण 1 को याद कर रहे हैं।

with
  inputs ( dt ) as (
    select to_date('02-Jan-18', 'dd-Mon-yy') from dual union all
    select to_date('02-Feb-18', 'dd-Mon-yy') from dual union all
    select to_date('05-Mar-18', 'dd-Mon-yy') from dual union all
    select to_date('08-Apr-18', 'dd-Mon-yy') from dual union all
    select to_date('05-May-18', 'dd-Mon-yy') from dual union all
    select to_date('05-Jun-18', 'dd-Mon-yy') from dual union all
    select to_date('05-Jul-18', 'dd-Mon-yy') from dual union all
    select to_date('09-Aug-18', 'dd-Mon-yy') from dual union all
    select to_date('10-Sep-18', 'dd-Mon-yy') from dual union all
    select to_date('11-Oct-18', 'dd-Mon-yy') from dual union all
    select to_date('11-Nov-18', 'dd-Mon-yy') from dual union all
    select to_date('11-Dec-18', 'dd-Mon-yy') from dual
  )
select dt,
       add_months(trunc(add_months(dt, 1), 'q'), -1) as qtr
from   inputs;

DT          QTR     
---------   ---------
02-Jan-18   01-Dec-17
02-Feb-18   01-Dec-17
05-Mar-18   01-Mar-18
08-Apr-18   01-Mar-18
05-May-18   01-Mar-18
05-Jun-18   01-Jun-18
05-Jul-18   01-Jun-18
09-Aug-18   01-Jun-18
10-Sep-18   01-Sep-18
11-Oct-18   01-Sep-18
11-Nov-18   01-Sep-18
11-Dec-18   01-Dec-18


  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. Oracle में अस्थायी तालिका बनाम वैश्विक अस्थायी तालिका में क्या अंतर है?

  3. PLSQL में अल्पविराम से अलग किए गए पैरामीटर में क्वेरी

  4. स्प्रिंग डेटा रिपॉजिटरी में Oracle मटेरियलाइज्ड व्यू को रिफ्रेश करें

  5. OracleDataAdapter.Fill () से डेटाटेबल को पॉप्युलेट करते समय निर्दिष्ट कास्ट मान्य नहीं है