為什麼我的 MySQL 查詢找不到我的浮點數值?

Mary-Kate Olsen
發布: 2024-10-31 18:30:29
原創
678 人瀏覽過

 Why Doesn't My MySQL Query Find My Float Value?

MySQL FLOAT 選擇問題故障排除

嘗試根據浮點值從MySQL 表中檢索行時,會出現一個常見問題:匹配值傳回零行。當表中的浮點數和查詢具有不同的精確度時,此問題就會出現。

例如,考慮以下查詢:

SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';
登入後複製

即使表包含帶有 ident= 的行'ident23'和price='101.31',由於精度不同,查詢可能不匹配。為了解決這個問題,您可以將價格列轉換為 DECIMAL 類型:

SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);
登入後複製

這將確保兩個值以相同的精度進行比較,從而允許查詢檢索正確的行。

或者,您可以考慮將價格列永久變更為 DECIMAL 類型。 DECIMAL 通常是處理貨幣值的首選資料類型,因為它比 FLOAT 具有更高的精度。

以上是為什麼我的 MySQL 查詢找不到我的浮點數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板