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

Mysql में दो बराबर मानों का घटाव शून्य नहीं है

इसे अनुमानित परिशुद्धता . के रूप में जाना जाता है . यह कोई त्रुटि नहीं है, फ़्लोटिंग पॉइंट डेटा प्रकार इस तरह से काम करने के लिए अभिप्रेत हैं। वे डेटा को ठीक से स्टोर नहीं कर सकते। इसलिए यदि यह मायने रखता है, तो आपको निश्चित-बिंदु डेटा प्रकारों का उपयोग करना चाहिए, जैसे कि DECIMAL MySQL में।

दूसरी ओर, आप फ्लोटिंग पॉइंट की तुलना के लिए हमेशा सटीक डेल्टा का उपयोग कर सकते हैं, जैसे:

SELECT 
  `foo`,
  `bar`,
  IF(ABS(`foo`-`bar`)<1E-13, 0, `foo`-`bar`) AS zero_compared
FROM
 t

जैसा कि आप देख सकते हैं, यहाँ डेल्टा 1E-13 . है (आम तौर पर, यह काफी होगा)



  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 'सम्मिलित करें' कथन में 'चयन' का उपयोग कैसे करें?

  2. MAX चुनें या सीमा के अनुसार ऑर्डर करें 1

  3. MySQL में वर्तमान तिथि कैसे प्राप्त करें

  4. उन सभी अभिलेखों की गणना करें जो अन्य तालिका में मौजूद नहीं हैं - SQL क्वेरी

  5. कोणीय लूप अपडेट नहीं हो रहा है