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

CURRENT_TIMESTAMP () Oracle में फ़ंक्शन

Oracle डाटाबेस में, CURRENT_TIMESTAMP() फ़ंक्शन डेटा प्रकार के मान में सत्र समय क्षेत्र में वर्तमान दिनांक और समय लौटाता है TIMESTAMP WITH TIME ZONE

यह LOCALTIMESTAMP के समान है , सिवाय इसके कि LOCALTIMESTAMP एक TIMESTAMP देता है मूल्य।

सिंटैक्स

वाक्य रचना इस प्रकार है:

CURRENT_TIMESTAMP [ (precision) ]

जहां वैकल्पिक precision तर्क लौटाए गए समय मान की आंशिक दूसरी सटीकता निर्दिष्ट करता है।

बिना किसी तर्क के फ़ंक्शन को कॉल करते समय, कोष्ठक को छोड़ा जाना चाहिए।

उदाहरण

सटीकता निर्दिष्ट किए बिना फ़ंक्शन को कॉल करने का एक उदाहरण यहां दिया गया है:

SELECT CURRENT_TIMESTAMP
FROM DUAL;

परिणाम:

06/AUG/21 08:32:31.165866000 AM AUSTRALIA/BRISBANE

यह उदाहरण मेरे सिस्टम के NLS_DATE_FORMAT के मान के आधार पर एक प्रारूप में दिनांक प्रदर्शित करता है पैरामीटर (जो वर्तमान में DD/MON/RR है) ) यह पैरामीटर NLS_TERRITORY . से अपना मान प्राप्त करता है पैरामीटर (जिसमें से मेरा AUSTRALIA है )

हमारे पास इन मापदंडों को बदलने का विकल्प है (उदाहरण के लिए, अपने Oracle सत्र में दिनांक स्वरूप कैसे बदलें देखें)।

वैकल्पिक रूप से, हम TO_CHAR() . जैसे फ़ंक्शन का उपयोग कर सकते हैं परिणाम को एक अलग प्रारूप में वापस करने के लिए।

उदाहरण:

SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;

परिणाम:

2021-08-06 08:44:39

परिशुद्धता

यहां एक उदाहरण दिया गया है जो सटीकता को निर्दिष्ट करता है। यह लौटाए गए समय मान की भिन्नात्मक दूसरी सटीकता निर्धारित करता है।

SELECT CURRENT_TIMESTAMP(9)
FROM DUAL;

परिणाम:

06/AUG/21 09:02:37.868264000 AM AUSTRALIA/BRISBANE

ध्यान दें कि सटीक तर्क 0 और 9 के बीच की कोई संख्या होनी चाहिए।

जब हम किसी मान को उस सीमा से बाहर पास करते हैं तो क्या होता है:

SELECT CURRENT_TIMESTAMP(10)
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT CURRENT_TIMESTAMP(10)
FROM DUAL
Error at Command Line : 1 Column : 26
Error report -
SQL Error: ORA-30088: datetime/interval precision is out of range
30088. 00000 -  "datetime/interval precision is out of range"
*Cause:    The specified datetime/interval precision was not between 0 and 9.
*Action:   Use a value between 0 and 9 for datetime/interval precision.

परिशुद्धता निर्दिष्ट किए बिना कोष्ठकों को छोड़ना

जैसा कि बताया गया है, CURRENT_TIMESTAMP पर कॉल करते समय precision . पास किए बिना तर्क, आपको कोष्ठकों को छोड़ना होगा।

यहां बताया गया है कि जब हम सटीक निर्दिष्ट किए बिना कोष्ठक शामिल करते हैं तो क्या होता है:

SELECT CURRENT_TIMESTAMP()
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT CURRENT_TIMESTAMP()
FROM DUAL
Error at Command Line : 1 Column : 26
Error report -
SQL Error: ORA-30088: datetime/interval precision is out of range
30088. 00000 -  "datetime/interval precision is out of range"
*Cause:    The specified datetime/interval precision was not between 0 and 9.
*Action:   Use a value between 0 and 9 for datetime/interval precision.

हमें पिछले उदाहरण की तरह ही त्रुटि मिलती है। Oracle डेटाबेस 0 और 9 के बीच एक सटीक तर्क की तलाश में है, लेकिन हमने कोई भी पारित नहीं किया।

शून्य तर्क

null . पास करते समय भी यही त्रुटि होती है :

SELECT CURRENT_TIMESTAMP(null)
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT CURRENT_TIMESTAMP(null)
FROM DUAL
Error at Command Line : 1 Column : 26
Error report -
SQL Error: ORA-30088: datetime/interval precision is out of range
30088. 00000 -  "datetime/interval precision is out of range"
*Cause:    The specified datetime/interval precision was not between 0 and 9.
*Action:   Use a value between 0 and 9 for datetime/interval precision.

  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. पीएल/एसक्यूएल में अद्यतन से प्रभावित पंक्तियों की संख्या

  3. संख्या डेटा प्रकार के लिए Oracle स्टोर अनुगामी शून्य करता है?

  4. ओरेकल संग्रहीत प्रक्रिया को कैसे निष्पादित करें?

  5. Windows 10 Professional पर Oracle 12c मानक संस्करण स्थापित करना