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

Oracle SQL भागों से दिनांक बनाएँ

यहां ADD_MONTHS का उपयोग करने का तरीका दिया गया है और EXTRACT(YEAR FROM ....) . आप केवल आवश्यक महीनों की संख्या जोड़ते या घटाते हैं (हमेशा 12 का गुणक, क्योंकि आप केवल वर्ष बदल रहे हैं)। TO_CHAR के विपरीत / TO_DATE समाधान, यह दृष्टिकोण लीप दिनों (29 फरवरी) को संभालता है। दूसरी ओर, आपको सूचित किया जाता है कि दिनांक 28 फरवरी 2003 से वर्ष 2012 में बदलने से यह 29 फरवरी (ADD_MONTHS) में बदल जाएगी। महीने के अंतिम दिन को परिणामी महीने के अंतिम दिन में बदल देता है)।

with
     inputs as (
       select date '2013-03-22' as effective_date,
              date '2017-08-14' as point_date
       from   dual
     )
-- end of TEST data (do not include in the solution!)
select effective_date, point_date,
       add_months(point_date, 12 * ( extract (year from effective_date) - 
                                     extract (year from point_date)     )
                 ) as mixed_date
from   inputs;

EFFECTIVE_DATE  POINT_DATE  MIXED_DATE
--------------  ----------  ----------
03/22/2013      08/14/2017  08/14/2013


  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 12c - किसी वर्ण की अंतिम घटना के बाद स्ट्रिंग का चयन करें

  2. प्रतिशत SQL Oracle

  3. आईडी और न्यूनतम/अधिकतम तिथियों द्वारा बाइनरी वैरिएबल को समूहीकृत करना

  4. ईएवी तालिका के साथ जुड़ें/पिवट आइटम

  5. Oracle कस्टम IsNumber फंक्शन प्रेसिजन और स्केल के साथ