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

Oracle PLSQL में किसी भी वर्ष के लिए ईस्टर की तिथियां निर्धारित करना

Oracle PLSQL में किसी भी वर्ष ईस्टर की तिथियां निर्धारित करना 

समस्याआप किसी दिए गए वर्ष के लिए ईस्टर की तिथियों को गतिशील रूप से निर्धारित करना चाहेंगे। SolutionOracle आपके लिए ईस्टर गणना करने के लिए एक एकल, सुरुचिपूर्ण फ़ंक्शन प्रदान नहीं करता है। लेकिन ओरेकल के पास मजबूत तारीख अंकगणितीय कार्य हैं जिनका उपयोग हम अपना ईस्टर कैलकुलेटर बनाने के लिए कर सकते हैं। यह सवाल पूछता है, हम वैसे भी ईस्टर की तारीखें कैसे तय करते हैं? ग्रेगोरियन कैलेंडर के तहत ईस्टर के लिए, ईस्टर रविवार को लेंट के बाद पहली पूर्णिमा के बाद रविवार है। समसामयिक एल्गोरिदम 21 मार्च को या उसके बाद पहली पूर्णिमा के बाद पहले रविवार में इसका अनुवाद करते हैं। अगला फ़ंक्शन एक निर्दिष्ट वर्ष के लिए ईस्टर रविवार की तारीख लौटाता है। फ़ंक्शन को बनाएं या बदलें;lunar_sync नंबर;रविवार_डेट नंबर;एपैक्ट नंबर;day_of_माह नंबर;ईस्टर_ऑफसेट नंबर;begingolden_metonic:=मॉड (दिया गया_वर्ष,19) + 1;शताब्दी:=(दिया गया_वर्ष / 100) + 1;लीप_वर्ष_फिक्स:=(3 * सदी / 4) - 12; चंद्र_सिंक:=((8 * सदी + 5)/25) - 5; रविवार_दिनांक:=(5 * दिए गए_वर्ष / 4) - लीप_इयर_फिक्स - 3; प्रभाव:=मॉड ((11 * गोल्डन_मेटोनिक + 20 + चंद्र_सिंक - लीप_वर्ष_फिक्स) ,30);अगर((epact =25 और Golden_metonic <11) या (epact =24)) तो इपैक्ट :=epact + 1;end if;day_of_month :=44 - epact;if(day_of_month <21) तोday_of_month :=day_of_month + 30; समाप्त अगर; ईस्टर_ऑफ़सेट:=(दिन_ऑफ_महीना + 7 - मॉड ((रविवार_दिनांक + दिन_ऑफ_महीना), 7)) - 1; तारीख पर लौटें ('01-MAR-' || to_char (दिया गया_वर्ष), 'डीडी -MON-YYYY') +easter_offset;end;/ हम इसे शुद्ध SQL में IF और CASE स्टेटमेंट के एक बड़े नेस्टेड सेट के रूप में कोडित कर सकते थे, लेकिन यह फ़ंक्शन पढ़ने में आसान और व्यवहार में उपयोग करने में आसान दोनों है। अब हम किसी दिए गए वर्ष के लिए ईस्टर पा सकते हैं, जैसे कि 2000 अगले SQL कथन में दिखाया गया। वर्तमान वर्ष के लिए ईस्टर रविवार को वर्ष को स्पष्ट रूप से बताने की आवश्यकता के बिना। अगला SQL कथन इसे क्रिया में दिखाता है। दोहरे से ईस्टर_संडे (निकालें (वर्ष (सिसडेट))) का चयन करें; EASTER_SUNDAY ------------

12-अप्रैल-09

  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. डेटाबेस खोज में NULL मान प्रदर्शन को कैसे प्रभावित करते हैं?

  5. Oracle में सभी कैश्ड आइटम को कैसे साफ़ करें