首頁  >  文章  >  資料庫  >  以下是根據您提供的文本提出的一些基於問題的標題,每個標題都側重於問題的不同方面: 選項 1(聚焦問題): * 為什麼我的 MySQL SELECT 查詢不回傳任何結果

以下是根據您提供的文本提出的一些基於問題的標題,每個標題都側重於問題的不同方面: 選項 1(聚焦問題): * 為什麼我的 MySQL SELECT 查詢不回傳任何結果

Susan Sarandon
Susan Sarandon原創
2024-10-28 12:36:31405瀏覽

Here are a few question-based titles based on your provided text, each focusing on a different aspect of the issue:

Option 1 (Focusing on the problem):

* Why Does My MySQL SELECT Query Return No Results When Using a Float for Matching?

Option 2 (Focusi

轉換 MySQL 浮點以實現精確的 SELECT 匹配

嘗試使用浮點值作為條件執行 SELECT 查詢通常會導致意外行為。以下問題舉例說明了這個挑戰:

<code class="sql">SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';</code>

即使資料庫中的價格列出現值 101.31,此查詢也會傳回零行。刪除價格條件會傳回預期的行。

要解決此問題,請考慮以下解決方案:

使用CAST 轉換為DECIMAL

將浮點值轉換為比較之前使用DECIMAL 類型可確保正確的精度:

<code class="sql">SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);</code>

修改資料庫結構

考慮將價格列修改為DECIMAL 類型,這樣可以為貨幣值提供更好的精確度:

ALTER TABLE `table` MODIFY COLUMN `price` DECIMAL;

以上是以下是根據您提供的文本提出的一些基於問題的標題,每個標題都側重於問題的不同方面: 選項 1(聚焦問題): * 為什麼我的 MySQL SELECT 查詢不回傳任何結果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn