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

मैसकल फ्लोट के साथ क्या हो रहा है?

जब आप 1 . से गुणा करते हैं , परिणाम DOUBLE . में परिवर्तित किया जा रहा है . इसमें अधिक सटीकता है, और परिणामस्वरूप आप दशमलव सन्निकटन में त्रुटि देख सकते हैं। FLOAT . असाइन करके आप वही चीज़ देख सकते हैं एक DOUBLE . के लिए कॉलम कॉलम।

CREATE TABLE `my_table` (
  `my_float_col` float,
  `my_double_col` double
);
INSERT INTO my_table (my_float_col) values (1.2355);
UPDATE my_table SET my_double_col = my_float_col;
SELECT my_float_col, my_double_col, my_float_col * 1 FROM my_table;
+--------------+--------------------+--------------------+
| my_float_col | my_double_col      | my_float_col * 1   |
+--------------+--------------------+--------------------+
|       1.2355 | 1.2354999780654907 | 1.2354999780654907 |
+--------------+--------------------+--------------------+

मुझे सच में यकीन नहीं है कि यह क्यों लौट रहा है DOUBLE गुणा से, क्योंकि दस्तावेज़ीकरण कहते हैं:

लेकिन यह स्पष्ट है कि क्या हो रहा है।



  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. django F() ऑब्जेक्ट का उपयोग करके एकाधिक कॉलम अपडेट करें

  3. MySQL - प्रासंगिकता के आधार पर कैसे ऑर्डर करें? आईएनएनओडीबी तालिका

  4. एसक्यूएल इन क्लॉज विद ज़ीरो टू कई पैरामीटर्स

  5. सिद्धांत 2 डीबीएएल के साथ सबक्वायरी में शामिल हों