2009-04-28 20 views
9

मैं एक प्रश्न पर काम कर रहा हूं जो संख्यात्मक मान (मुद्रा) देता है। कुछ मूल्य पूरे नंबर हैं और 3, 5, 2 इत्यादि के रूप में प्रदर्शित किए जा रहे हैं जबकि अन्य नंबर 2.52, 4.50 इत्यादि जैसे आ रहे हैंहमेशा SQL में दशमलव स्थान दिखाएं?

मैं दशमलव स्थानों को हमेशा दिखाने के लिए ऑरैकल को कैसे मजबूर कर सकता हूं? नहीं डेटा एक -

धन्यवाद

उत्तर

9
+0

धन्यवाद। क्या इसका उपयोग शून्य से जोड़ने वाले नंबरों के लिए भी किया जा सकता है जो 1 से कम हैं? उदाहरण के लिए .52 के बजाय 0.52? –

+5

मेरे सिर के शीर्ष से TO_CHAR (pAmount, '9,999, 9 0.99') का उपयोग करें; स्वरूपण की शुरुआत में 'एफएम' निर्देश का उपयोग करके – cagcowboy

5

प्रदर्शन और डेटा का स्वरूपण प्रस्तुति परत पर संभाला जाना चाहिए।

मूल्यों को प्रारूपित करने के लिए आपके सामने वाले अंत तक प्रदान की गई सुविधाओं का उपयोग करें जैसा आप फिट देखते हैं।

+1

क्या होगा अगर ओरेकल * * है प्रस्तुति परत? जैसे MODPLSQL टूलकिट? – cagcowboy

+0

या एसक्यूएल * प्लस में एक साधारण रिपोर्ट? – cagcowboy

+0

प्रश्न से वास्तव में स्पष्ट नहीं था :-)। –

0

एसक्यूएल में * इसके अलावा आप एक प्रति-स्तंभ के आधार पर स्वरूपण निर्दिष्ट करने के लिए स्तंभ के निर्देश का उपयोग कर सकते, क्वेरी से ही अलग। इस तरह आप संभवतः अन्य उपयोगों के लिए अपनी क्वेरी "साफ" रखते हैं और फिर भी अपना स्वरूपण प्राप्त करते हैं। (एसक्यूएल में * प्लस कम से कम ...)

, उदा,

COLUMN SAL FORMAT 99,990.99 

गूगल "एसक्यूएल * प्लस उपयोगकर्ता मार्गदर्शिका और संदर्भ" और आप अपने Oracle संस्करण के लिए Oracle स्थान के लिए लिंक मिलना चाहिए के लिए। 10.1 here है अगर यह करेगा। वे शायद सभी के बारे में समान होंगे, आपको याद होगा: मुझे नहीं लगता कि एसक्यूएल * प्लस ने 1 9 88 में ओरेकल 5.1.17 पर इसे सीखा है ...

1

to_char दशमलव समस्या को हल करता है लेकिन आप लंबाई के बारे में निश्चित होना चाहिए। यदि यह उपलब्ध प्रारूप से लंबा है, तो यह संख्या #### के रूप में दिखाएगा। यदि संख्या कम है, तो यह संख्या से पहले रिक्त स्थान छोड़ देगा। उदाहरण के लिए:

to_char(123.45),'99.00')####

और

to_char(123.45),'999999.00') दिखाने ' 123.45' कर देगा।

तो, यदि आपको परिणाम CSV या Excel में निर्यात करना है, तो इन नंबरों को स्ट्रिंग के रूप में माना जाएगा।

तो, मुझे इसका कोई समाधान नहीं मिला है।

+0

अतिरिक्त रिक्त स्थान – CJC

+0

को हटा देगा समाधान नीचे सूचीबद्ध किया गया है: TO_CHAR (your_value,' fm990.00 '), 2 दशमलव स्थानों को बल देता है और व्हाइटसाइट्स को छोड़ देता है – OverMars

5

जवाब पहले ही दिया बढ़ाने के लिए, आप उपयोग कर सकते हैं:

  • TO_CHAR(your_value,'fm999.99') मूल्यों की तुलना में कम के लिए मजबूर करने के लिए अग्रणी रिक्त स्थान

    ____3.453.45 (_ खाली स्थान के इंगित करता है) हो जाता है

  • TO_CHAR(your_value,'fm990.99') को रोकने के लिए 1 एक प्रमुख शून्य

    दिखाने के लिए

    .520.52

  • TO_CHAR(your_value,'fm990.00'), 2 दशमलव स्थानों के लिए मजबूर करने की भले ही 0

    6.36.30

  • (TO_CHAR(your_value,'fm990.00')||'%') एक प्रतिशत चिह्न जोड़ने के लिए

    18.6 हो जाता है 18.60%

  • हो जाता हो जाता है

स्रोत: https://community.oracle.com/thread/968373?start=0&tstart=0

संबंधित मुद्दे