समस्या:
आप किसी संख्या को दशमलव स्थानों की एक विशिष्ट संख्या में गोल करना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में product
निम्नलिखित कॉलम में डेटा के साथ:id
, name
, और price_net
।
आईडी | <थ>नामprice_net | |
---|---|---|
1 | रोटी | 2.34 |
2 | क्रोइसैन | 1.22 |
3 | रोल | 0.68 |
मान लीजिए कि प्रत्येक उत्पाद पर 24% का कर है, और आप प्रत्येक वस्तु के सकल मूल्य की गणना करना चाहते हैं (अर्थात, करों के बाद) और मान को दो दशमलव स्थानों तक पूर्णांकित करना चाहते हैं।
समाधान:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
यह क्वेरी दो दशमलव स्थानों पर पूर्णांकित सकल मूल्य लौटाती है:
आईडी | कीमत_सकल |
---|---|
1 | 2.90 |
2 | 1.51 |
3 | 0.84 |
चर्चा:
यदि आप SQL में किसी फ़्लोटिंग-पॉइंट संख्या को दशमलव स्थानों की एक विशिष्ट संख्या में गोल करना चाहते हैं, तो ROUND फ़ंक्शन का उपयोग करें। इस फ़ंक्शन का पहला तर्क वह स्तंभ है जिसके मानों को आप गोल करना चाहते हैं; दूसरा तर्क वैकल्पिक है और उन स्थानों की संख्या को दर्शाता है जहां आप चक्कर लगाना चाहते हैं। डिफ़ॉल्ट रूप से, यदि आप दूसरा तर्क निर्दिष्ट नहीं करते हैं, तो फ़ंक्शन निकटतम पूर्णांक तक चक्कर लगाता है।
इस उदाहरण में, हम उन स्थानों की संख्या निर्दिष्ट नहीं करेंगे जहाँ हम कॉलम को गोल करना चाहते हैं:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
और ये रहा संबंधित परिणाम:
आईडी | कीमत_सकल |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |