ROUND, CEIL और FLOOR Functions
Numbers round करना
MySQL में decimals नियंत्रित करने की कई functions हैं: ROUND (निकटतम), CEIL (ऊपर), FLOOR (नीचे), और TRUNCATE (काटना)। ये पैसे, averages और percentages को ज़रूरी हैं, जहाँ आपको साफ़, predictable numbers चाहिए।
ROUND
SELECT ROUND(3.7), ROUND(3.4), ROUND(3.14159, 2);
ROUND निकटतम value पर जाता है। दूसरा argument decimal places की संख्या set करता है — ROUND(3.14159, 2) दो decimals रखता है।
CEIL (ऊपर round)
SELECT CEIL(3.1), CEIL(3.9), CEIL(5);
CEIL (या CEILING) हमेशा अगली पूर्ण संख्या पर ऊपर round करता है, 3.1 को भी। इसे तब इस्तेमाल कीजिए जब आपको कभी नीचे round नहीं करना, जैसे passengers के लिए कितनी buses चाहिए।
FLOOR (नीचे round)
SELECT FLOOR(3.1), FLOOR(3.9), FLOOR(5);
FLOOR हमेशा पिछली पूर्ण संख्या पर नीचे round करता है, 3.9 को भी। इसे तब इस्तेमाल कीजिए जब आपको कभी ऊपर round नहीं करना।
TRUNCATE
SELECT TRUNCATE(3.678, 1), TRUNCATE(3.678, 0);
TRUNCATE बस दिए decimal place के बाद के digits round किए बिना काट देता है। तो TRUNCATE(3.678, 1) 3.6 है, 3.7 नहीं।
आमने-सामने
| Function | 3.7 पर | 3.2 पर | व्यवहार |
|---|---|---|---|
| ROUND | 4 | 3 | निकटतम |
| CEIL | 4 | 4 | हमेशा ऊपर |
| FLOOR | 3 | 3 | हमेशा नीचे |
| TRUNCATE(x,0) | 3 | 3 | Decimals काटो |
आम गलतियाँ
- TRUNCATE को rounding की उम्मीद से इस्तेमाल करना। यह काटता है, round नहीं।
- CEIL और FLOOR मिलाना। CEIL ऊपर जाता है; FLOOR नीचे।
- Decimal-places argument भूलना।
ROUND(x)पूर्ण संख्या देता है। - जो पैसा round होना चाहिए उसे FLOOR इस्तेमाल करना। निकटतम cent को ROUND इस्तेमाल कीजिए।
सारांश
- ROUND निकटतम value पर जाता है; दूसरे argument से decimals जोड़िए।
- CEIL हमेशा ऊपर round करता है; FLOOR हमेशा नीचे।
- TRUNCATE decimals round किए बिना काटता है।
- इस आधार पर चुनिए कि निकटतम, ऊपर, नीचे, या काटना चाहिए।
- पैसे और averages को ROUND सामान्य विकल्प है।
आगे, nulls संभालिए IFNULL और COALESCE से, या logic जोड़िए CASE expression से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
MySQL में ROUND क्या करता है?
ROUND(3.7) 4 देता है और ROUND(3.4) 3 देता है। आप decimal places पर भी round कर सकते हैं, जैसे ROUND(3.14159, 2) 3.14 देता है।CEIL और FLOOR में क्या अंतर है?
CEIL(3.1) 4 है। FLOOR हमेशा नीचे round करता है, तो FLOOR(3.9) 3 है। ROUND निकटतम पर जाता है, पर CEIL और FLOOR हमेशा एक दिशा में।ROUND और TRUNCATE में क्या अंतर है?
TRUNCATE(3.678, 1) 3.6 देता है, 3.7 नहीं।MySQL में दो decimal places पर कैसे round करूँ?
ROUND(value, 2)। जैसे ROUND(9.876, 2) 9.88 देता है। यह पैसे और percentages को आम है।