जब आप 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
गुणा से, क्योंकि दस्तावेज़ीकरण
कहते हैं:
लेकिन यह स्पष्ट है कि क्या हो रहा है।