在MySQL中选择浮点数
我正在尝试SELECT
根据标识符和价格对表进行匹配,例如:
SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';
上面的代码返回零行,而如果删除该price='101.31'
位,它将返回正确的行。
做…
SELECT * FROM `table`;
返回与上述相同的行,并明确指出price='101.31'
。然而select无法匹配它。更改=
为<=
使其生效-但这并不是解决方案。
有没有一种方法可以在执行操作之前将MySQL浮点数强制转换为2位数字,从而完成上述SELECT
工作(或其他解决方案)?
谢谢!
回答:
强制转换为小数对我有用:
SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);
但是,您可能首先要考虑将price
列设置为DECIMAL。通常认为DECIMAL是处理货币价值时使用的最佳类型。
以上是 在MySQL中选择浮点数 的全部内容, 来源链接: utcz.com/qa/400149.html