जब आप क्वेरी चलाते हैं:
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;
ध्यान दें कि आप =
. का उपयोग नहीं करना चाहते हैं फ़्लोटिंग पॉइंट मानों पर, लेकिन आप इसे पहले ही समझ चुके हैं।