MySQL double 類型查詢不准確的問題


PS - 個人博客原文:MySQL double 類型查詢不准確的問題

問題

有如下查詢:

SELECT * FROM <table-name> WHERE price > 32.99;

結果竟然包含了 32.99 的數據行。

原因

price 的類型是 double,會存在精度丟失問題,作為條件查詢或者 sum 等聚合函數時結果會不准確

解決

將 double 類型轉化為 decimal 查詢:

SELECT * FROM <table-name> WHERE CAST(price AS DECIMAL(7, 2)) > 32.99;

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM