समस्या:
आप PostgreSQL में एक स्ट्रिंग को दशमलव मान में बदलना चाहते हैं।
आइए एक स्ट्रिंग में मान को DECIMAL डेटाटाइप में बदलें।
समाधान 1:
हम ::ऑपरेटर का उपयोग करेंगे। यहां वह प्रश्न है जो आप लिखेंगे:
SELECT ' 5800.79 '::DECIMAL;
ये रहा परिणाम:
संख्यात्मक |
---|
5800.79 |
जैसा कि आपने देखा, आगे और पीछे के रिक्त स्थान हटा दिए गए थे।
चर्चा:
संख्यात्मक मान वाले स्ट्रिंग को दशमलव डेटा प्रकार में बदलने के लिए ::ऑपरेटर का उपयोग करें। हमारे उदाहरण में, हमने स्ट्रिंग '5800.79' को 5800.79 (एक दशमलव मान) में बदल दिया।
इस ऑपरेटर का उपयोग विभिन्न डेटा प्रकारों के बीच कनवर्ट करने के लिए किया जाता है। यह PostgreSQL के भीतर बहुत लोकप्रिय है। आप मानक SQL ऑपरेटर का भी उपयोग कर सकते हैं, CAST()
, के बजाय ::
ऑपरेटर।
समाधान 2:
SELECT CAST(' 5800.79 ' AS DECIMAL );
ये रहा परिणाम:
संख्यात्मक |
---|
5800.79 |
ध्यान दें कि CAST()
, जैसे ::
ऑपरेटर, स्ट्रिंग को किसी संख्या में बदलने से पहले उसके आरंभ और अंत में अतिरिक्त रिक्त स्थान निकालता है।
PostgreSQL डेटाबेस कनवर्ट करने का एक और तरीका प्रदान करता है। TO_NUMBER()
का उपयोग करें फ़ंक्शन यदि आपको अधिक जटिल स्ट्रिंग्स को कनवर्ट करने की आवश्यकता है। यह फ़ंक्शन दो तर्क लेता है:कनवर्ट करने के लिए स्ट्रिंग और प्रारूप मास्क जो इंगित करता है कि स्ट्रिंग में प्रत्येक वर्ण की व्याख्या कैसे की जानी चाहिए। नीचे दिया गया उदाहरण देखें:
समाधान 3:
SELECT TO_NUMBER(' 5 800,79- ', 'FM9G999D99S' );
ये रहा परिणाम:
संख्यात्मक |
---|
-5800.79 |
प्रारूप स्ट्रिंग संख्या वाली स्ट्रिंग का वर्णन करती है (स्ट्रिंग के रूप में इनपुट मान)। इस उदाहरण में, इस मुखौटा में प्रतीक 'एफएम' होता है, जो अग्रणी और पिछली जगहों को हटा देता है। '9' एक अंक को दर्शाता है (हमारे उदाहरण में, 5) और 'जी' अंकों के एक समूह का प्रतिनिधित्व करता है (हमारे उदाहरण में, एक स्थान हजारों के समूह को इंगित करता है)।
इसके बाद, '999' तीन और अंक (800) इंगित करता है।
'डी' प्रतीक एक दशमलव मार्कर निर्दिष्ट करता है (यहां, एक बिंदु/बिंदु '।')। दशमलव चिह्न के बाद '99' या दो भिन्नात्मक अंक आते हैं।
अंतिम प्रतीक, 'S', धन या ऋण चिह्न के उपयोग को निर्दिष्ट करता है (हमारी संख्या ऋणात्मक है, इसलिए इसे ऋण मिलता है)।
यहाँ इस मुखौटा के लिए सबसे अधिक उपयोग किए जाने वाले प्रतीक हैं:
प्रतीक | <थ>विवरण|
---|---|
FM | अग्रणी शून्य और पैडिंग रिक्त स्थान |
9 | एक अंक |
. | स्थानीय दशमलव बिंदु |
जी | समूह विभाजक |
डी | स्थानीय दशमलव विभाजक |
एस | ऋण या धन चिह्न |
एल | स्थानीय मुद्रा प्रतीक |
आप PostgreSQL दस्तावेज़ीकरण में अधिक संख्यात्मक स्वरूपण जानकारी पा सकते हैं।