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

TO_CHAR(संख्या) फ़ंक्शन ORA-01722 लौटाता है:अमान्य संख्या

मैं मान रहा हूँ कि qty varchar2 . के रूप में परिभाषित किया गया है my_table . में -- अन्यथा, to_number . पर कॉल करने से कोई उद्देश्य पूरा नहीं होगा . यदि वह धारणा सही है, तो मैं दांव लगाऊंगा कि तालिका में कुछ अन्य पंक्ति है जहां qty इसमें गैर-संख्यात्मक डेटा है।

एसक्यूएल एक सेट-आधारित भाषा है इसलिए ओरेकल (या कोई अन्य डेटाबेस) चीजों का मूल्यांकन करने के लिए पूरी तरह से स्वतंत्र है, जिस क्रम में वह फिट दिखता है। इसका मतलब है कि Oracle to_number(qty) . का मूल्यांकन करने के लिए पूरी तरह से स्वतंत्र है id=12345 . लागू करने से पहले अभिव्यक्ति विधेय यदि Oracle को एक ऐसी पंक्ति का सामना करना पड़ता है जहां qty मान को किसी संख्या में परिवर्तित नहीं किया जा सकता है, यह एक त्रुटि देगा।

यह भी संभव है कि उस विशेष पंक्ति में कुछ गैर-संख्यात्मक डेटा हो जहां id = 12345 जो प्रदर्शित नहीं होता है (उदाहरण के लिए नियंत्रण वर्ण)। आप इसे क्वेरी चलाकर देख सकते हैं

SELECT dump(qty, 1016) 
  FROM my_table
 WHERE id = 12345

(यदि आप हेक्साडेसिमल के बजाय दशमलव चाहते हैं, तो dump के दूसरे पैरामीटर के रूप में 1010 का उपयोग करें ) और यह देखने के लिए जांच कर रहा है कि डेटा में कुछ अप्रत्याशित तो नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या डेटाबेस डिज़ाइन में विदेशी कुंजियाँ वास्तव में आवश्यक हैं?

  2. csv फ़ाइल से डेटा आयात करना

  3. श्रेणियों पर स्तरीकृत नमूना

  4. FROM_TZ () Oracle में फ़ंक्शन

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