首页  >  文章  >  数据库  >  以下是根据您提供的文本提出的一些基于问题的标题,每个标题都侧重于问题的不同方面: 选项 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