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

ऑरैकल दशमलव के पूर्णांक भाग को क्यों नहीं दिखाता है

एसक्यूएल*प्लस यह दिखाएगा कि डिफ़ॉल्ट रूप से (आपके क्षेत्र के दशमलव विभाजक का उपयोग करके):

SQL> select 1/3 from dual;

       1/3
----------
.333333333

आप इस्तेमाल कर सकते हैं> व्यवहार बदलने के लिए:

SQL> set numformat "0D9999"
SQL> select 1/3 from dual;

    1/3
-------
 0.3333

... जहां डी दशमलव विभाजक का प्रतिनिधित्व करता है। या आप कॉलम फ़ॉर्मेटिंग का उपयोग कॉलम उपनाम के साथ कर सकते हैं:

SQL> set numformat ""
SQL> column answer format 0.000
SQL> select 1/3 as answer from dual;

ANSWER
------
 0.333

अन्य क्लाइंट के पास डिफ़ॉल्ट आउटपुट को नियंत्रित करने के विभिन्न तरीके होते हैं; SQL डेवलपर बहुत समान व्यवहार करता है, लेकिन PL/SQL डेवलपर, टॉड आदि शायद नहीं।

या आप संख्या को क्वेरी के भाग के रूप में प्रारूपित कर सकते हैं, जो क्लाइंट पर निर्भर नहीं है:

SQL> select to_char(1/3, '9990D99999') from dual;

TO_CHAR(1/3
-----------
    0.33333

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

SQL> select to_char(100000/3, '9990D99999') from dual;

TO_CHAR(100
-----------
###########



  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. प्रत्येक कॉलम के लिए अलग-अलग मानों की अलग-अलग गणना करें

  4. Oracle SQL - क्या डेटा विशेषताओं को निर्धारित करने के लिए CASE का उपयोग चेक बाधा में किया जा सकता है?

  5. मैं Oracle में नामित बाधा की परिभाषा कैसे प्राप्त करूं?