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

डीबी फ्लोट कॉलम में एक्सपोनेंशियल वैल्यू डालने से बचें

यह एक घातांक के रूप में संग्रहीत नहीं है, यह Oracle के आंतरिक संख्या प्रतिनिधित्व में संग्रहीत है। जब आप इसे क्वेरी करते हैं, तो यह आपके सत्रों के वर्तमान संख्या प्रारूप के साथ प्रदर्शित होता है:

select 0.0000000555559080767 from dual;

                  0.0000000555559080767
---------------------------------------
                                5.6E-08

जिसे आप SQL*Plus या SQL Developer में ओवरराइड कर सकते हैं:

set numformat 999.9999999999999999999
select 0.0000000555559080767 from dual;

   0.0000000555559080767
------------------------
    .0000000555559080767

या केवल प्रदर्शन के लिए मान को एक स्ट्रिंग के रूप में स्पष्ट रूप से प्रारूपित करें:

set numf ""
select to_char(0.0000000555559080767, '9990.9999999999999999999') from dual;

TO_CHAR(0.000000055555908
-------------------------
    0.0000000555559080767

यदि आपके पास एक क्लाइंट एप्लिकेशन है जो मूल्य को पुनः प्राप्त कर रहा है और उसका उपयोग कर रहा है तो उसे इसे फ्लोट के रूप में क्लाइंट की भाषा के लिए उपयुक्त डेटा प्रकार में पूछना चाहिए, और फिर यह क्लाइंट पर निर्भर करता है कि इसे कैसे प्रदर्शित किया जाता है।

आपको फ्लोट कॉलम में एक स्ट्रिंग नहीं डालना चाहिए, जो सिर्फ एक अंतर्निहित रूपांतरण करता है; आपकी प्रविष्टि में अंतिम तर्क 0.0000000555559080767 होना चाहिए उद्धृत '0.0000000555559080767' . के बजाय ।



  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. Oracle में बूलियन फील्ड

  3. पैच 19 . स्थापित करने के बाद शुरुआत में Oracle फॉर्म 6i 0xC0000005 के साथ क्रैश हो जाता है

  4. Oracle के साथ एकाधिक परिणाम सेट

  5. Oracle SQL डेवलपर में टेबल्स में शामिल होना