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

Oracle में तिथियों को कैसे प्रारूपित करें

इस आलेख में Oracle डेटाबेस में दिनांक स्वरूपण के सामान्य उदाहरण हैं।

आपके सत्र के लिए डिफ़ॉल्ट दिनांक प्रारूप विभिन्न एनएलएस आरंभीकरण मापदंडों द्वारा निर्धारित किया जाता है (यहां उन्हें जांचने का तरीका बताया गया है)। लोकेल जागरूक स्वरूपण को आउटपुट करने के लिए आप इन मापदंडों का लाभ उठा सकते हैं।

आप TO_CHAR(number) . जैसे कार्यों का भी उपयोग कर सकते हैं तिथियों को एक स्ट्रिंग में बदलने और उन्हें ठीक उसी तरह प्रारूपित करने के लिए जैसे आप मक्खी पर पसंद करते हैं।

डिफ़ॉल्ट दिनांक स्वरूप

जब आप Oracle में कोई दिनांक लौटाते हैं, तो डिफ़ॉल्ट रूप से, यह वर्तमान सत्र के लिए डिफ़ॉल्ट दिनांक स्वरूप में वापस आ जाता है।

उदाहरण:

SELECT DATE '2030-12-10' FROM DUAL;

परिणाम:

10/DEC/30

इस मामले में, मेरे सत्र का डिफ़ॉल्ट दिनांक प्रारूप DD/MON/RR है , और इसलिए परिणाम यह दर्शाता है।

आप या तो NLS_TERRITORY . बदलकर प्रारूप बदल सकते हैं पैरामीटर (जो परोक्ष रूप से अन्य पैरामीटर जैसे डेटाटाइम पैरामीटर को बदलता है), या NLS_DATE_FORMAT को बदल रहा है सीधे पैरामीटर।

जब मैं NLS_TERRITORY बदलता हूं, तो यहां बताया गया है एक अलग क्षेत्र के लिए पैरामीटर:

ALTER SESSION SET NLS_TERRITORY = 'Germany';
SELECT DATE '2030-12-10' FROM DUAL;

परिणाम:

10.12.30

डिफ़ॉल्ट दिनांक स्वरूप उस स्थान के प्रारूप को दर्शाने के लिए अद्यतन किया गया है।

अन्य डेटाटाइम एनएलएस पैरामीटर भी हैं, जैसे NLS_TIME_FORMAT , NLS_TIME_TZ_FORMAT , NLS_TIMESTAMP_FORMAT , और NLS_TIMESTAMP_TZ_FORMAT कि आपको डेटाटाइम प्रारूप बदलते समय जागरूक होने की आवश्यकता है।

यह भी देखें कि यदि आप अपने वर्तमान सत्र के लिए डिफ़ॉल्ट डेटाटाइम प्रारूप बदलना चाहते हैं तो अपने सत्र का दिनांक प्रारूप कैसे बदलें।

TO_CHAR() समारोह

Tवह TO_CHAR(datetime) फ़ंक्शन डेटाटाइम मान स्वीकार करता है, और आपके द्वारा निर्दिष्ट तरीके से स्वरूपित स्ट्रिंग देता है।

यहां एक त्वरित उदाहरण दिया गया है:

SELECT TO_CHAR(DATE '2035-09-26', 'Dy, DD Month YYYY')
FROM DUAL;

परिणाम:

Wed, 26 September 2035

यहां, फ़ंक्शन ने दूसरे तर्क द्वारा निर्दिष्ट प्रारूप में, पहले तर्क में प्रदान की गई तारीख को वापस कर दिया।

दूसरा तर्क प्रारूप मॉडल प्रदान करता है। प्रारूप मॉडल में एक या अधिक प्रारूप तत्व हो सकते हैं। उदाहरण के लिए, Dy एक प्रारूप तत्व है, जैसा कि DD है , Month , आदि

यदि आप कोई प्रारूप निर्दिष्ट नहीं करते हैं, तो वह सत्र के लिए डिफ़ॉल्ट प्रारूप का उपयोग करके वापस आ जाता है।

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

नीचे अधिक विशिष्ट उदाहरण दिए गए हैं।

दिन का नाम लौटाएं

यदि आवश्यक हो तो आप अलग-अलग दिनांक भागों को वापस कर सकते हैं। उदाहरण के लिए, आप केवल दिन का नाम, केवल महीने का नाम इत्यादि वापस कर सकते हैं। आपको केवल अपने प्रारूप मॉडल में लागू प्रारूप तत्व का उपयोग केवल प्रारूप तत्व के रूप में करना है।

दिन का नाम वापस करने का एक उदाहरण यहां दिया गया है:

SELECT TO_CHAR(DATE '2035-09-26', 'Day')
FROM DUAL;

परिणाम:

Wednesday

इस मामले में मैंने पूरे दिन का नाम वापस कर दिया।

हम Dy . का उपयोग कर सकते हैं छोटे दिन का नाम वापस करने के लिए पहले के उदाहरण की तरह:

SELECT TO_CHAR(DATE '2035-09-26', 'Dy')
FROM DUAL;

परिणाम:

Wed

माह का नाम लौटाएं

महीने का नाम वापस करने का एक उदाहरण यहां दिया गया है:

SELECT TO_CHAR(DATE '2035-09-26', 'Month')
FROM DUAL;

परिणाम:

September

और छोटे महीने का नाम:

SELECT TO_CHAR(DATE '2035-09-26', 'Mon')
FROM DUAL;

परिणाम:

September

केस संवेदनशीलता

पिछले उदाहरणों में, हमने दिन और महीने के नामों के लिए पहले अक्षर को बड़े अक्षरों में लिखा था।

हम वैकल्पिक रूप से दिन और महीने के नामों को अपरकेस में वापस करने के लिए सभी अपर केस का उपयोग कर सकते हैं, और सभी लोअर केस को लोअरकेस में वापस करने के लिए।

SELECT 
    TO_CHAR(DATE '2035-09-26', 'DY, Dy, dy')
FROM DUAL
UNION ALL
SELECT 
    TO_CHAR(DATE '2035-09-26', 'DAY, Day, day')
FROM DUAL
UNION ALL
SELECT 
    TO_CHAR(DATE '2035-09-26', 'MON, Mon, mon')
FROM DUAL
UNION ALL
SELECT 
    TO_CHAR(DATE '2035-09-26', 'MONTH, Month, month')
FROM DUAL;

परिणाम:

WED, Wed, wed                           
WEDNESDAY, Wednesday, wednesday         
SEP, Sep, sep                           
SEPTEMBER, September, september         

भाषा

NLS_DATE_LANGUAGE पैरामीटर का उपयोग दिनांक भागों की भाषा निर्धारित करने के लिए किया जाता है जो वर्तनी में होते हैं (जैसे दिन के नाम और महीने के नाम)। इस पैरामीटर का डिफ़ॉल्ट मान NLS_LANGUAGE . से लिया गया है पैरामीटर।

यहां NLS_DATE_LANGUAGE को अपडेट करने का एक उदाहरण दिया गया है पैरामीटर, फिर एक स्वरूपित दिनांक लौटाता है जिसमें दिन का नाम और महीने का नाम शामिल होता है:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'Spanish';
SELECT TO_CHAR(DATE '2035-09-26', 'Dy, DD Month YYYY')
FROM DUAL;

परिणाम:

Mié, 26 Septiembre 2035

भाषा को TO_CHAR() . के भीतर से भी स्पष्ट रूप से निर्दिष्ट किया जा सकता है स्वयं कार्य करें। ऐसा करने से आप उन सेटिंग्स को प्रभावित किए बिना, वर्तमान सत्र के लिए डिफ़ॉल्ट भाषा सेटिंग्स को अस्थायी रूप से ओवरराइड कर सकते हैं।

उदाहरण:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'English';
SELECT TO_CHAR(
    DATE '2035-09-26', 
    'Dy, DD Month YYYY',
    'NLS_DATE_LANGUAGE = Spanish'
    )
FROM DUAL;

परिणाम:

Mié, 26 Septiembre 2035

इस उदाहरण में, मैंने अपना वर्तमान सत्र अंग्रेजी का उपयोग करने के लिए सेट किया है, फिर स्पैनिश का उपयोग करके दिनांक आउटपुट करने के लिए एक क्वेरी चलाई।

जैसा कि पहले उल्लेख किया गया था, स्पेनिश में तारीख को आउटपुट करने से अंग्रेजी सेटिंग प्रभावित नहीं हुई। इसे प्रदर्शित करने के लिए, मैंने उसके तुरंत बाद निम्नलिखित क्वेरी चलाई (NLS_DATE_LANGUAGE को बदले बिना) पैरामीटर)।

SELECT TO_CHAR(
    DATE '2035-09-26', 
    'Dy, DD Month YYYY'
    )
FROM DUAL;

परिणाम:

Wed, 26 September 2035

जैसा कि अपेक्षित था, परिणाम अंग्रेजी में है, जो वर्तमान सत्र के लिए डिफ़ॉल्ट भाषा है।


  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:CSV फ़ाइल आयात करें

  2. परिणामसेट#getDate() शब्दार्थ

  3. ओरेकल एसक्यूएल:लापता तिथियां भरें

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

  5. पृष्ठभूमि प्रक्रियाएं