SQL सर्वर में किसी संख्या को प्रतिशत मान में बदलने के 4 तरीके यहां दिए गए हैं।
कड़ाई से बोलते हुए, हम वास्तव में इसे प्रतिशत में "रूपांतरित" नहीं कर रहे हैं। हम संख्या को प्रतिशत के रूप में स्वरूपित कर रहे हैं। लेकिन ऐसा करने के लिए, हमें संख्या को एक संख्यात्मक डेटा प्रकार से एक स्ट्रिंग में बदलने की आवश्यकता है।
ऐसा करने के 4 तरीके यहां दिए गए हैं।
उदाहरण 1 - FORMAT() फ़ंक्शन
उपयोग करने के लिए सबसे स्पष्ट विकल्प है FORMAT()
समारोह। यह आपको एक विशिष्ट प्रारूप में संख्याओं और तिथियों को प्रदर्शित करने की अनुमति देता है।
किसी संख्या को प्रतिशत के रूप में प्रदर्शित करने के लिए इस फ़ंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:
SELECT FORMAT(55, 'P') Result;
परिणाम:
+------------+ | Result | |------------| | 5,500.00 % | +------------+
ध्यान दें कि हमारे मान में चार शून्य जोड़े गए थे (दो दशमलव बिंदु से पहले और दो बाद में)।
इसे 55 प्रतिशत बनाने के लिए निम्नलिखित की आवश्यकता होगी:
SELECT FORMAT(.55, 'P') Result;
परिणाम:
+----------+ | Result | |----------| | 55.00 % | +----------+
यदि संख्या वास्तविक प्रतिशत मान है जो आप चाहते हैं, तो आप यह कर सकते हैं:
SELECT FORMAT(55 * .01, 'P') Result;
परिणाम:
+----------+ | Result | |----------| | 55.00 % | +----------+
आप प्रारूप विनिर्देशक में शून्य जोड़कर भिन्नात्मक भाग को भी हटा सकते हैं:
SELECT FORMAT(.55, 'P0') Result;
परिणाम:
+----------+ | Result | |----------| | 55 % | +----------+
यदि आवश्यक हो, तो आप अधिक दशमलव स्थान भी जोड़ सकते हैं:
SELECT FORMAT(.55123456, 'P7') Result;
परिणाम:
+--------------+ | Result | |--------------| | 55.1234560 % | +--------------+
उदाहरण 2 - CONVERT() फ़ंक्शन
आप वैकल्पिक रूप से CONVERT()
. का उपयोग कर सकते हैं संख्या को एक स्ट्रिंग में बदलने के लिए कार्य करें, फिर अंत में प्रतिशत चिह्न जोड़ें।
यह थोड़ा अनावश्यक लग सकता है, यह देखते हुए कि पिछले उदाहरण ने इसे कितना आसान बना दिया, हालाँकि, FORMAT()
फ़ंक्शन केवल SQL सर्वर 2012 में पेश किया गया था। इसलिए, यदि आप SQL सर्वर के पुराने संस्करण का उपयोग करते हैं तो आपको इसे इस तरह करने की आवश्यकता होगी।
SELECT CONVERT(VARCHAR(4), 55) + ' %' Result;
परिणाम:
+----------+ | Result | |----------| | 55 % | +----------+
बेशक, अगर आपका नंबर कुछ इस तरह है .55
और आपको इसे 55.00% के रूप में प्रदर्शित करने की आवश्यकता है, तो आप इसे हमेशा 100 से गुणा कर सकते हैं:
SELECT CONVERT(VARCHAR(6), 0.55 * 100) + ' %' Result;
परिणाम:
+----------+ | Result | |----------| | 55.00 % | +----------+
इस मामले में मैंने varchar . का आकार भी बढ़ाया अतिरिक्त वर्णों को पूरा करने के लिए डेटा प्रकार।
साथ ही, आप LEFT()
. का उपयोग करके भिन्नात्मक भाग को हटा सकते हैं समारोह:
SELECT CONVERT(VARCHAR(6), LEFT(0.55 * 100, 2)) + ' %' Result;
परिणाम:
+----------+ | Result | |----------| | 55 % | +----------+
हालांकि ऐसा करते समय आपको सावधान रहने की आवश्यकता है, क्योंकि वास्तविक मान 2 से अधिक या कम हो सकता है। इस मामले में, आप TRIM()
का उपयोग कर सकते हैं। प्रमुख शून्य और/या पीछे वाले बिंदुओं को ट्रिम करने का कार्य:
SELECT CONVERT(VARCHAR(6), TRIM('0,.' FROM LEFT(0.55 * 100, 3))) + ' %' Result;
परिणाम:
+----------+ | Result | |----------| | 55 % | +----------+
हालांकि, यह सही नहीं है, और FORMAT()
फ़ंक्शन स्पष्ट रूप से न्यूनतम कोड के साथ बहुत अधिक लचीलापन प्रदान करता है।
उदाहरण 3 - CAST() फ़ंक्शन
हम वैकल्पिक रूप से CAST()
. का उपयोग कर सकते हैं पिछले उदाहरण के समान कार्य करने के लिए कार्य करें:
SELECT CAST(55 AS VARCHAR(4)) + ' %' Result;
परिणाम:
+----------+ | Result | |----------| | 55 % | +----------+
ध्यान दें कि CAST()
और CONVERT()
थोड़ा अलग वाक्यविन्यास का प्रयोग करें। CAST()
. के मामले में कास्ट किया जाने वाला मान पहले आता है, जबकि CONVERT()
. के साथ यह दूसरा तरीका है ।
उदाहरण 4 - CONCAT()
समारोह
आप CONCAT()
. का भी उपयोग कर सकते हैं प्रतिशत चिह्न के साथ किसी संख्या को जोड़ने का कार्य:
SELECT CONCAT(55, ' %') Result;
परिणाम:
+----------+ | Result | |----------| | 55 % | +----------+
यह फ़ंक्शन परोक्ष रूप से संयोजन से पहले सभी तर्कों को स्ट्रिंग प्रकारों में परिवर्तित करता है।