मारियाडीबी में, ROUND()
एक अंतर्निहित संख्यात्मक फ़ंक्शन है जो अपने तर्क को दशमलव स्थानों की एक निश्चित संख्या में गोल करता है।
सिंटैक्स
फ़ंक्शन का उपयोग निम्नलिखित दो तरीकों से किया जा सकता है:
ROUND(X)
ROUND(X,D)
जहां X
गोल करने के लिए मान है, और D
एक वैकल्पिक तर्क है जो इसे पूर्णांक बनाने के लिए दशमलव स्थानों की संख्या निर्दिष्ट करता है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT ROUND(7.5);
परिणाम:
+------------+ | ROUND(7.5) | +------------+ | 8 | +------------+
ऋणात्मक मान पास करने से निम्न परिणाम प्राप्त होते हैं:
SELECT ROUND(-7.5);
परिणाम:
+-------------+ | ROUND(-7.5) | +-------------+ | -8 | +-------------+
दशमलव स्थान निर्दिष्ट करें
डिफ़ॉल्ट रूप से, ROUND()
फ़ंक्शन मान को शून्य दशमलव स्थानों पर गोल करता है। हम दूसरा तर्क पास करके मान को पूर्णांक बनाने के लिए दशमलव स्थानों की संख्या निर्दिष्ट कर सकते हैं।
उदाहरण:
SELECT ROUND(7.5164, 2);
परिणाम:
+------------------+ | ROUND(7.5164, 2) | +------------------+ | 7.52 | +------------------+
नकारात्मक दशमलव स्थान
यदि आवश्यक हो तो दूसरा तर्क ऋणात्मक मान हो सकता है। ऋणात्मक मान पास करने से अंक बाईं ओर हो जाते हैं दशमलव स्थान का शून्य हो जाना।
उदाहरण:
SELECT ROUND(3724.51, -2);
परिणाम:
+--------------------+ | ROUND(3724.51, -2) | +--------------------+ | 3700 | +--------------------+
की तुलना में FLOOR()
ROUND()
फ़ंक्शन FLOOR()
. से भिन्न है समारोह। ROUND()
फ़ंक्शन कुछ उदाहरणों में संख्या को ऊपर और दूसरों में नीचे की ओर गोल करता है। FLOOR()
दूसरी ओर, फ़ंक्शन हमेशा सबसे बड़ा पूर्णांक मान देता है जो इसके तर्क से अधिक नहीं होता है।
इस अंतर को प्रदर्शित करने के लिए यहां एक तुलना है:
SELECT
FLOOR(3.6789),
ROUND(3.6789);
परिणाम:
+---------------+---------------+ | FLOOR(3.6789) | ROUND(3.6789) | +---------------+---------------+ | 3 | 4 | +---------------+---------------+
साथ ही, FLOOR()
ROUND()
. जैसे दूसरे तर्क को स्वीकार नहीं करता है करता है।
ROUND()
TRUNCATE()
. से भी अलग है फ़ंक्शन, जो बिना किसी पूर्णांकन के, किसी दिए गए दशमलव स्थान पर संख्या को आसानी से छोटा कर देता है।
गैर-संख्यात्मक तर्क
जब हम एक गैर-संख्यात्मक तर्क प्रदान करते हैं तो यहां क्या होता है:
SELECT ROUND('Ten');
परिणाम:
+--------------+ | ROUND('Ten') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.028 sec)
आइए चेतावनी देखें:
SHOW WARNINGS;
परिणाम:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
अनुपलब्ध तर्क
कॉलिंग ROUND()
बिना तर्क के त्रुटि उत्पन्न होती है:
SELECT ROUND();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ROUND'