TRUNCATE() और ROUND() दोनों संख्या को दशमलव स्थानों तक सीमित करते हैं, लेकिन तरीका अलग है।
TRUNCATE(X, D)
- संख्या को काट देता है (truncates) — कोई गोलाई नहीं
Dदशमलव स्थान रखता है, बाकी हटा देता हैD=0: दशमलव बिंदु हटाता हैD<0: पूर्णांक भाग के|D|अंक हटाता है (0 से भरता है)
ROUND(X, D)
- संख्या को गोल करता है (rounds) — निकटतम मान
Dदशमलव स्थान तक गोलाईDऋणात्मक: पूर्णांक भाग गोलाई- मानक गोलाई नियम: अगला अंक ≥5 तो ऊपर, वरना नीचे
तुलना उदाहरण
mysql> SELECT TRUNCATE(7.536432, 2), ROUND(7.536432, 2);
+-------------------------+----------------------+
| TRUNCATE(7.536432, 2) | ROUND(7.536432, 2) |
+-------------------------+----------------------+
| 7.53 | 7.54 |
+-------------------------+----------------------+
मुख्य अंतर सारांश
| पहलू | TRUNCATE() | ROUND() |
|---|---|---|
| क्रिया | काटना (चॉप) | गोलाई (राउंड) |
| अगला अंक देखता है? | नहीं | हां (≥5 तो ऊपर) |
| 1.289, D=2 | 1.28 | 1.29 |
| 1.284, D=2 | 1.28 | 1.28 |
| ऋणात्मक D | अंक हटाकर 0 भरता है | मानक गोलाई नियम |
कौन सा उपयोग करें
- TRUNCATE: वित्तीय गणना जहां काटना आवश्यक (ब्याज गणना, मुद्रा रूपांतरण)
- ROUND: सामान्य प्रस्तुति, रिपोर्टिंग, सांख्यिकी
- ध्यान:
TRUNCATEDDL भी है (टेबल खाली करना) — संदर्भ से स्पष्ट करें