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

Oracle में एक तिथि से सदी कैसे प्राप्त करें

Oracle डाटाबेस के साथ, हम TO_CHAR(datetime) . का उपयोग कर सकते हैं शतक को डेटाटाइम मान से वापस करने का कार्य करता है।

ऐसा करने के लिए, हम या तो CC . का उपयोग कर सकते हैं प्रारूप तत्व, या SCC प्रारूप तत्व। हम इन्हें अन्य प्रारूप तत्वों के साथ जोड़ सकते हैं जैसे काम करने के लिए, क्रमिक संख्या प्रदर्शित करना, शताब्दी को स्पेल आउट करना, आदि।

उदाहरण

यहां एक उदाहरण दिया गया है जो CC . का उपयोग करता है दिनांक मान से शतक वापस करने के लिए प्रारूप तत्व:

SELECT TO_CHAR(DATE '2030-12-30', 'CC')
FROM DUAL;

परिणाम:

21

नकारात्मक शतक

हम SCC . का उपयोग कर सकते हैं नकारात्मक तिथि पास करते समय ऋण चिह्न शामिल करने के लिए प्रारूप तत्व:

SELECT TO_CHAR(DATE '-2030-12-30', 'SCC')
FROM DUAL;

परिणाम:

-21

क्रमिक संख्या

हम TH जोड़ सकते हैं सदी की क्रमिक संख्या वापस करने के लिए प्रारूप तत्व।

SELECT TO_CHAR(DATE '2030-12-30', 'CCTH')
FROM DUAL;

परिणाम:

21ST

हम "सेंचुरी" शब्द को जोड़ने के लिए मनमाना टेक्स्ट भी जोड़ सकते हैं:

SELECT TO_CHAR(DATE '2030-12-30', 'CCTH "Century"')
FROM DUAL;

परिणाम:

21ST Century

ध्यान दें कि टेक्स्ट दोहरे उद्धरण चिह्नों से घिरा हुआ है।

हम आवश्यकतानुसार कैपिटलाइज़ेशन का उपयोग कर सकते हैं:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;

परिणाम:

21ST Century

ध्यान दें कि मैंने प्रारूप मॉडल में केवल पहले वर्ण को बड़ा किया है। मेरा मतलब यह है कि मैंने Ccth . का उपयोग किया है CCth . के बजाय . जबकि आप सोच सकते हैं कि CCth इसका परिणाम लोअरकेस क्रमांक संख्या में होना चाहिए, ऐसा नहीं है कि यह कैसे काम करता है। जब हम ऐसा करते हैं तो यहां क्या होता है:

SELECT TO_CHAR(DATE '2030-12-30', 'CCth "Century"')
FROM DUAL;

परिणाम:

21ST Century

मूल रूप से, जब प्रारूप मॉडल के पहले दो अक्षर अपरकेस होते हैं, तो परिणाम अपरकेस होता है। इसलिए, शीर्षक केस बनाने के लिए, केवल प्रारूप मॉडल के पहले वर्ण को कैपिटलाइज़ करें।

वर्तनी सेंचुरी

हम SP जोड़ सकते हैं सेंचुरी को स्पेलिंग आउट करने के लिए फॉर्मेट एलिमेंट:

SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;

परिणाम:

TWENTY-FIRST Century

और हम आवश्यकतानुसार पूंजीकरण का उपयोग कर सकते हैं:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;

परिणाम:

Twenty-First Century

हम TH . को छोड़ सकते हैं प्रारूप विनिर्देशक यदि हम क्रम संख्या नहीं चाहते हैं:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;

परिणाम:

Twenty-One

20वीं बनाम 21वीं सदी

जब किसी तारीख को 20वीं सदी बनाम 21वीं सदी में माना जाता है, तो उसके संबंध में निम्नलिखित नियम लागू होते हैं।

  • यदि किसी 4-अंकीय वर्ष के अंतिम 2 अंक 01 और 99 (समावेशी) के बीच हैं, तो शताब्दी उस वर्ष के पहले 2 अंकों से एक बड़ी है।
  • यदि किसी 4-अंकीय वर्ष के अंतिम 2 अंक 00 हैं, तो शताब्दी उसी वर्ष के पहले 2 अंकों के समान है।

यही अवधारणा अन्य शताब्दियों पर भी लागू होती है, जैसे कि 13वीं शताब्दी, 30वीं शताब्दी, आदि।

उदाहरण:

SELECT 
    TO_CHAR(DATE '1999-12-30', 'CC') AS "1999",
    TO_CHAR(DATE '2000-12-30', 'CC') AS "2000",
    TO_CHAR(DATE '1299-12-30', 'CC') AS "1299",
    TO_CHAR(DATE '1300-12-30', 'CC') AS "1300",
    TO_CHAR(DATE '2999-12-30', 'CC') AS "2999",
    TO_CHAR(DATE '3000-12-30', 'CC') AS "3000"
FROM DUAL;

परिणाम:

   1999    2000    1299    1300    2999    3000 
_______ _______ _______ _______ _______ _______ 
20      20      13      13      30      30     

Oracle में डेटाटाइम मानों को स्वरूपित करने के लिए और भी कई प्रारूप तत्व उपलब्ध हैं। पूरी सूची के लिए Oracle में डेटाटाइम प्रारूप तत्वों की सूची देखें।


  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. ORA-28000:खाता लॉक हो गया है बार-बार त्रुटि हो रही है

  4. DBCA डेटाबेस खराब बनाएँ REMOTE_LISTENER

  5. Oracle SQL डेवलपर के साथ डेटा कैसे निर्यात करें?