gpt4 book ai didi

mysql - SQL MIN() 奇怪的值

转载 作者:可可西里 更新时间:2023-11-01 06:31:35 25 4
gpt4 key购买 nike

我在一家小型网上商店工作,我正在尝试以最低价格购买产品(照片)。

所以我查看最低加价是多少(照片可以订购不同尺寸):

SELECT 
MIN(price) as price
FROM
rm_prices
WHERE
photo_id = '47' AND
price != '0'

这将返回为该产品找到的最低值。

当我检查我的数据库时,我发现最低值为 1256.3。
当我打印结果时,给出的数字是 1256.30004882813。
该值设置为 FLOAT。

为什么结果是 1256.30004882813 而不是 1256.3?

最佳答案

因为 real number 1256.3 无法在 floating point 中精确表示.

你应该使用 fixed-point datatype用于货币数据。引用自 MySQL documentation :

The DECIMAL and NUMERIC types store exact numeric data values. These types are used when it is important to preserve exact precision, for example with monetary data.

关于mysql - SQL MIN() 奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8475683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com