समस्या:
आप दशमलव संख्या के भिन्नात्मक भाग से पीछे वाले शून्य को हटाना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में ribbon
कॉलम में डेटा के साथ आईडी , नाम , और चौड़ाई (मीटर में, एक दशमलव संख्या द्वारा 4-अंकीय भिन्नात्मक भाग के साथ दर्शाया जाता है)।
आईडी | <थ>नाम <थ>चौड़ाई||
---|---|---|
1 | बड़ा साटन N24 | 1.2000 |
2 | निर्माण Yc2 | 0.5500 |
3 | तीन रंग 4F1 | 3.2050 |
4 | ब्लू रिबन LB1 | 0.1265 |
आइए रिबन के नाम के साथ-साथ उनकी चौड़ाई मीटर में प्राप्त करें, लेकिन बिना अनुगामी शून्य के।
समाधान:
हम ऑपरेटर का उपयोग करेंगे ‘::’
दशमलव संख्या को वास्तविक डेटा प्रकार में बदलने के लिए। यहां वह प्रश्न है जो आप लिखेंगे:
SELECT name, width::REAL FROM ribbon;
ये रहा परिणाम:
नाम | <थ>नई_चौड़ाई|
---|---|
बड़ा साटन N24 | 1.2 |
निर्माण Yc2 | 0.55 |
तीन रंग 4F1 | 3.205 |
ब्लू रिबन LB1 | 0.1265 |
चर्चा:
::
का उपयोग करें अनुगामी शून्य वाली दशमलव संख्या को बिना अतिरिक्त शून्य वाली संख्या में बदलने के लिए ऑपरेटर। यह ऑपरेटर बाईं ओर के मान को दाईं ओर रखे गए डेटा प्रकार में परिवर्तित करता है।
हमारे उदाहरण में, चौड़ाई में दशमलव मान को वास्तविक डेटा प्रकार में बदल दिया गया था, जो अनुगामी शून्य प्रदर्शित नहीं करता है। 'लार्ज सैटिन N24' रिबन में width
है 1.2000 का मान - लेकिन हमें इस संख्या के भिन्नात्मक भाग में शून्य की आवश्यकता नहीं है। इसलिए, हमने उन्हें काटने के लिए वास्तविक डेटा प्रकार में परिवर्तित किया (हमारे उदाहरण में, तीन शून्य हटा दिए गए थे)। यह संख्या प्रदर्शित करने का एक सुविधाजनक तरीका है क्योंकि यह केवल अनुगामी शून्य को हटाता है; उदाहरण के लिए, 'ब्लू रिबन LB1' में दशमलव बिंदु के बाद कोई पिछला शून्य नहीं होता है, इसलिए रूपांतरण के बाद इसका मान समान रहता है।
यदि आपके सभी मानों के भिन्नात्मक भाग में समान संख्या में शून्य हैं, तो TRUNC()
का उपयोग करें समारोह। इसमें दो तर्क होते हैं:मान/स्तंभ नाम जिसमें संख्या और एक पूर्णांक होता है जो भिन्नात्मक अंकों की वांछित संख्या को दर्शाता है; बाकी काट दिया जाता है। width
. कॉलम में अलग-अलग मानों के साथ एक ही उदाहरण देखें :
आईडी | <थ>नाम <थ>चौड़ाई||
---|---|---|
1 | बड़ा साटन N24 | 1.200 |
2 | निर्माण Yc2 | 0.500 |
3 | तीन रंग 4F1 | 3.200 |
4 | ब्लू रिबन LB1 | 0.100 |
समाधान 2:
यहां वह प्रश्न है जो आप लिखेंगे:
SELECT name, TRUNC(width,1) FROM ribbon;
ये रहा परिणाम:
नाम | <थ>नई_चौड़ाई|
---|---|
बड़ा साटन N24 | 1.0 |
निर्माण Yc2 | 0.5 |
तीन रंग 4F1 | 3.2 |
ब्लू रिबन LB1 | 0.1 |
दशमलव भाग में केवल एक अंक प्रदर्शित होता है। ध्यान दें कि TRUNC() केवल शून्य ही नहीं, बल्कि सभी अंकों को काटता है।