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

अपने Oracle सत्र में दिनांक स्वरूप कैसे बदलें

दिनांक लौटाने वाले फ़ंक्शन के साथ काम करते समय, Oracle डेटाबेस NLS_DATE_FORMAT के मान के आधार पर इन तिथियों को लौटाता है पैरामीटर।

एक NLS_TIMESTAMP_FORMAT भी है पैरामीटर और एक NLS_TIMESTAMP_TZ_FORMAT पैरामीटर, दोनों में एक डेटाटाइम प्रारूप मुखौटा है जिसे अलग से निर्दिष्ट किया जा सकता है।

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

इसलिए, अपने सत्र के लिए दिनांक स्वरूप बदलने के लिए, आप NLS_TERRITORY को या तो अपडेट कर सकते हैं पैरामीटर, या प्रत्येक पैरामीटर को अलग-अलग स्पष्ट रूप से अपडेट करें।

यह लेख इन मानों को जांचने और बदलने और परिणाम देखने के उदाहरण प्रदान करता है।

प्रारंभिक सेटिंग जांचें

सबसे पहले, आइए NLS_DATE_FORMAT के लिए मेरी वर्तमान सेटिंग की जांच करें पैरामीटर:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_TERRITORY',
    'NLS_DATE_FORMAT',
    'NLS_TIMESTAMP_FORMAT',
    'NLS_TIMESTAMP_TZ_FORMAT'
    ); 

परिणाम:

 पैरामीटर मान __________________________ _________________________________ NLS_TERRITORY ऑस्ट्रेलिया NLS_DATE_FORMAT DD/MON/RR NLS_TIMESTAMP_FORMAT DD/MON/RR HH12:MI:SSXFF AM NLS_TIMESTAMP_TZ_FORMAT DD/MON:RR HHH 

मेरे NLS_TERRITORY का मान पैरामीटर है AUSTRALIA , और इसलिए विभिन्न डेटाटाइम पैरामीटर ऑस्ट्रेलिया के लिए डिफ़ॉल्ट प्रारूप मॉडल का उपयोग करते हैं।

यह मान प्रभावित करता है कि जब हम कुछ फ़ंक्शन का उपयोग करते हैं तो दिनांक कैसे स्वरूपित होता है। उदाहरण के लिए, यहां SYSDATE का उपयोग करने का एक उदाहरण दिया गया है वर्तमान तिथि वापस करने के लिए:

SELECT SYSDATE
FROM DUAL; 

परिणाम:

04/AUG/21

सेटिंग बदलें

हम ALTER SESSION . का उपयोग कर सकते हैं इन मापदंडों के लिए सेटिंग बदलने के लिए बयान।

हमारे पास इनमें से प्रत्येक पैरामीटर को अलग-अलग बदलने या NLS_TERRITORY बदलने का विकल्प है पैरामीटर, जो स्वचालित रूप से उन प्रत्येक पैरामीटर को परोक्ष रूप से अपडेट करता है।

NLS_TERRITORY बदलें पैरामीटर

यहां NLS_TERRITORY को बदलने का एक उदाहरण दिया गया है पैरामीटर:

ALTER SESSION SET NLS_TERRITORY = 'AMERICA'; 

परिणाम:

सत्र बदल दिया गया।

आइए नए मानों की जाँच करें:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_TERRITORY',
    'NLS_DATE_FORMAT',
    'NLS_TIMESTAMP_FORMAT',
    'NLS_TIMESTAMP_TZ_FORMAT'
    ); 

परिणाम:

 पैरामीटर मान ______________________ _______________________ NLS_TERRITORY AMERICA NLS_DATE_FORMAT DD-MON-RR NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HFF। 

इसलिए हम देख सकते हैं कि, न केवल क्षेत्र को अपडेट किया गया है, बल्कि विभिन्न डेटाटाइम मापदंडों को भी अपडेट किया गया है।

बस NLS_DATE_FORMAT बदलें पैरामीटर

यहां NLS_DATE_FORMAT को अपडेट करने का एक उदाहरण दिया गया है पैरामीटर:

ALTER SESSION SET NLS_DATE_FORMAT = 'rr-mm-dd'; 

परिणाम:

सत्र बदल दिया गया।

आइए नए मान की जाँच करें:

SELECT
    PARAMETER,
    VALUE
FROM V$NLS_PARAMETERS
WHERE PARAMETER IN (
    'NLS_TERRITORY',
    'NLS_DATE_FORMAT',
    'NLS_TIMESTAMP_FORMAT',
    'NLS_TIMESTAMP_TZ_FORMAT'
    ); 

परिणाम:

 पैरामीटर मान __________________ _______________________ NLS_TERRITORY AMERICA NLS_DATE_FORMAT rr-mm-dd NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIMESTAMP_TZ_FORMAT DD-MION-RR HFF पूर्व AM। 

जैसा अपेक्षित था, केवल NLS_DATE_FORMAT पैरामीटर को नए प्रारूप में बदल दिया गया है। अन्य अपरिवर्तित रहते हैं।

अब जब हम SYSDATE run चलाते हैं , तारीख हमारे नए प्रारूप में लौटा दी जाती है, लेकिन SYSTIMESTAMP NLS_TIMESTAMP_TZ_FORMAT . का उपयोग करके इसे लौटाता है प्रारूप, जो अपरिवर्तित है:

SELECT 
    SYSDATE,
    SYSTIMESTAMP
FROM DUAL; 

परिणाम:

 SYSDATE SYSTIMESTAMP ___________ _____________________________________________ 21-08-09 09-AUG-21 07.22.35.402453000 अपराह्न -04:00 

  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 SQL में केस स्टेटमेंट के भाग में उपनाम का उपयोग करना

  2. Oracle डाटाबेस परीक्षण चुनौती - स्कीमा डेटा की तुलना करें

  3. Oracle SQL में एक प्रतिस्थापन () फ़ंक्शन के आउटपुट से अल्पविराम सीमांकित स्ट्रिंग के साथ IN क्लॉज का उपयोग करना

  4. Oracle में दृश्य और भौतिकीकृत दृश्य में क्या अंतर है?

  5. Oracle एपेक्स में फ़ाइलें आयात करना wwv_flow_files का उपयोग करना