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

Oracle में रोमन अंकों में महीने को कैसे प्रारूपित करें

Oracle डेटाबेस हमें रोमन अंकों का उपयोग करके महीने को तारीख से वापस करने की क्षमता प्रदान करता है।

उदाहरण के लिए, यदि महीना अगस्त है, तो इसका दशमलव मान 08 होगा और इसका रोमन अंक समतुल्य VIII होगा।

ऐसा करने का तरीका RM . का उपयोग करना है या rm अपने प्रारूप मुखौटा में प्रारूप तत्व। यह महीने को क्रमशः अपरकेस या लोअरकेस में रोमन अंकों का उपयोग करके प्रारूपित करेगा।

दिनांक प्रारूप निर्दिष्ट करना कई स्थानों पर किया जा सकता है।

किसी फ़ंक्शन को कॉल करते समय रोमन अंक निर्दिष्ट करें

TO_CHAR(datetime) के साथ दिनांक स्वरूपित करते समय रोमन अंकों को निर्दिष्ट करने का एक उदाहरण यहां दिया गया है समारोह:

DUAL से
SELECT TO_CHAR(DATE '2035-08-11', 'DD RM YYYY') FROM DUAL;

परिणाम:

11 VIII 2035

इस मामले में मैंने अपरकेस रोमन अंक निर्दिष्ट किए हैं।

लोअरकेस निर्दिष्ट करने के लिए, बस rm बदलें करने के लिए rm :

DUAL से
SELECT TO_CHAR(DATE '2035-08-11', 'DD rm YYYY') FROM DUAL;

परिणाम:

11 viii 2035

ओरेकल में डेटाटाइम प्रारूप तत्वों की सूची देखें प्रारूप तत्वों की पूरी सूची के लिए जिनका उपयोग डेटाटाइम मानों को प्रारूपित करने के लिए किया जा सकता है।

पूरे सत्र के लिए रोमन अंक निर्दिष्ट करें

आप वैकल्पिक रूप से अपने पूरे सत्र के लिए दिनांक प्रारूप निर्धारित कर सकते हैं। यह तब उपयोगी हो सकता है जब आपको तारीख लौटाने वाले बहुत सारे फ़ंक्शन कॉल करने की आवश्यकता हो।

तीन प्रासंगिक पैरामीटर हैं:NLS_DATE_FORMAT , NLS_TIMESTAMP_FORMAT , और NLS_TIMESTAMP_TZ_FORMAT

इन पैरामीटर में डिफ़ॉल्ट मान होते हैं जो NLS_TERRITORY . से प्राप्त होते हैं पैरामीटर (जिसका एक डिफ़ॉल्ट मान है जो ऑपरेटिंग सिस्टम पर निर्भर है)। हालांकि, यदि आवश्यक हो, तो आप मौजूदा सत्र के लिए इनमें से किसी भी पैरामीटर को अपडेट कर सकते हैं।

महीने के हिस्से के लिए रोमन अंक शामिल करने वाले दिनांक प्रारूप का उपयोग करने के लिए इन पैरामीटर को अपडेट करने का एक उदाहरण यहां दिया गया है:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD RM YYYY';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'DD RM YYYY HH12:MI:SSXFF AM';
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'DD RM YYYY HH12:MI:SSXFF AM TZR';

परिणाम:

Session altered.


Session altered.


Session altered.

अब, जब मैं एक फ़ंक्शन को कॉल करता हूं जो डेटाटाइम मान देता है, तो मुझे रोमन अंकों में महीना मिलता है।

उदाहरण:

SELECT TO_CHAR(SYSDATE) FROM DUAL;

परिणाम:

10 VIII 2021

ध्यान दें कि मैंने SYSDATE . पास कर लिया है करने के लिए TO_CHAR() .

अगर मैं ऐसा नहीं करता, तो NLS_DATE_FORMAT पैरामीटर प्रभावी नहीं होता:

SELECT SYSDATE FROM DUAL;

परिणाम:

2021-08-10 20:04:49

यह समस्या अन्य दिनांक स्वरूपों के साथ मौजूद नहीं है। मैंने केवल रोमन अंकों के साथ इसका सामना किया।

एक अधिक स्थायी समाधान

उपरोक्त उदाहरण रोमन अंकों में महीने को वापस करने के लिए अस्थायी समाधान हैं। अधिक स्थायी समाधान के लिए, एनएलएस पैरामीटर को डेटाबेस स्तर पर, इनिशियलाइज़ेशन पैरामीटर फ़ाइल में, या पर्यावरण चर में सेट किया जा सकता है। इनके उदाहरणों के साथ-साथ एक दूसरे के संबंध में उनके पूर्वता क्रम के लिए एनएलएस पैरामीटर और उनकी प्राथमिकताएं निर्धारित करने के तरीके देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 12c डेटाफ़ाइलों को ऑनलाइन ले जाएँ

  2. Oracle डाटाबेस एक्सप्लोरर:नि:शुल्क प्रशिक्षण और प्रत्यायन

  3. हाइबरनेट एक ही तालिका में दो बार शामिल होने के लिए मानदंड बनाएं - 2 अंतर त्रुटि के साथ 2 दृष्टिकोण की कोशिश की

  4. ORA-01652:टेबलस्पेस सिस्टम में अस्थायी खंड को 128 तक बढ़ाने में असमर्थ:कैसे विस्तार करें?

  5. Oracle में उपयोगकर्ता और स्कीमा के बीच अंतर?