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

फिक्स:Oracle डेटाबेस में "अंतराल की अग्रणी सटीकता बहुत छोटी है"

यदि आप Oracle में एक अंतराल शाब्दिक का उपयोग करने का प्रयास कर रहे हैं, लेकिन आपको "अंतराल की प्रमुख सटीकता बहुत छोटी है" त्रुटि मिलती रहती है, तो उम्मीद है कि इससे मदद मिलेगी।

त्रुटि

यहाँ त्रुटि का एक उदाहरण दिया गया है:

SELECT INTERVAL '125' YEAR
FROM DUAL;

परिणाम:

ORA-01873: the leading precision of the interval is too small
01873. 00000 -  "the leading precision of the interval is too small"
*Cause:    The leading precision of the interval is too small to store the
           specified interval.
*Action:   Increase the leading precision of the interval or specify an
           interval with a smaller leading precision.
Error at Line: 9 Column: 17

समाधान

यहां समस्या को ठीक करने का तरीका बताया गया है:

SELECT INTERVAL '125' YEAR(3)
FROM DUAL;

परिणाम:

+125-00

मैंने जो कुछ किया वह था (3) YEAR . तक खोजशब्द। यह 3 की सटीकता निर्दिष्ट करता है।

डिफ़ॉल्ट सटीकता 2 है, और इसलिए यदि हम उच्च परिशुद्धता निर्दिष्ट नहीं करते हैं, तो त्रुटि होती है।

आप 9 तक सटीकता प्रदान कर सकते हैं।

उदाहरण:

SELECT INTERVAL '123456789' YEAR(9)
FROM DUAL;

परिणाम:

+123456789-00

और यहाँ क्या होता है यदि हम संख्या को समान रखते हुए सटीकता को कम करते हैं:

SELECT INTERVAL '123456789' YEAR(5)
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT INTERVAL '123456789' YEAR(5)
FROM DUAL
Error at Command Line : 1 Column : 17
Error report -
SQL Error: ORA-01873: the leading precision of the interval is too small
01873. 00000 -  "the leading precision of the interval is too small"
*Cause:    The leading precision of the interval is too small to store the
           specified interval.
*Action:   Increase the leading precision of the interval or specify an
           interval with a smaller leading precision.

पहले की तरह ही त्रुटि।

साथ ही, 9 से अधिक किसी भी चीज़ का परिणाम त्रुटि में होता है:

SELECT INTERVAL '123456789' YEAR(20)
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT INTERVAL '123456789' YEAR(20)
FROM DUAL
Error at Command Line : 1 Column : 34
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. ORA 00904 त्रुटि:अमान्य पहचानकर्ता

  2. 12c डेटाफ़ाइलों को ऑनलाइन ले जाएँ

  3. Oracle:यदि तालिका मौजूद है

  4. ओरेकल में विदेशी कुंजी का उपयोग कैसे करें

  5. संग्रह के तरीके:Oracle डेटाबेस में पहला और अंतिम कार्य