Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL राउंड अपेक्षा से अधिक क्यों तैरता है?

जब आप क्वेरी चलाते हैं:

SELECT * FROM some_table WHERE id = 123

आप फ्लोटिंग पॉइंट नंबरों को प्रारूपित करने के लिए यूजर इंटरफेस पर भरोसा कर रहे हैं। आप जिस इंटरफ़ेस का उपयोग कर रहे हैं वह अधिक के बजाय दो वर्णों का उपयोग कर रहा है। आखिरकार, दिखाने के लिए "दाएं" नंबर के बारे में कोई जानकारी नहीं है।

आप संख्या को एक स्ट्रिंग या दशमलव के रूप में स्वरूपित करके सही संख्या दिखाने के लिए इंटरफ़ेस को मना सकते हैं। उदाहरण के लिए:

select format(some_float_field, 3)

इसे तीन दशमलव स्थानों के साथ एक स्ट्रिंग में बदल देगा। एक सावधानी:यह अल्पविराम भी जोड़ देगा जो आप शायद नहीं चाहते। यह भी काम करना चाहिए:

select cast(some_float_field as decimal(8, 3))

ध्यान दें कि आप कुछ ऐसा करके आसानी से पुष्टि कर सकते हैं कि डेटा सही है:

select *
from some_table
where some_float_field between 1919.987 - 0.0001 and 1919.987 + 0.0001;

ध्यान दें कि आप = . का उपयोग नहीं करना चाहते हैं फ़्लोटिंग पॉइंट मानों पर, लेकिन आप इसे पहले ही समझ चुके हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL से पहले X शब्द (सिर्फ अक्षर नहीं) खींचे

  2. मैं mysql डेटाबेस को AJAX और PHP के साथ innerhtml में कैसे अपडेट करूं?

  3. MySQL में एक टेबल बनाएं

  4. SQL IN क्लॉज के लिए PHP सरणी को फ़ॉर्मेट करना

  5. MySQL ड्रॉप विदेशी कुंजी बाधा