1

我在 mysql DB 中有一个rating数据类型为 的字段float(2,1)。一行包含一个值0.5,但是当我使用

SELECT round(rating) FROM table WHERE ...给出值 0 而不是 1。

SELECT round(0.5)给出了价值1(对于 Postgresql 也是)。

此外,PHP 总是1echo round(0.5);

我真的很困惑。

4

3 回答 3

2

将您的数据类型从 float(2,1) 更改为 decimal(2,1) 它可能对您有用。

于 2012-07-11T10:35:44.813 回答
1

尝试SELECT ROUND(rating)代替SELECT ROUND('rating').

对字符串进行四舍五入可能会给您带来奇怪的结果。您可能在列值之后,它不应该用'.

于 2012-07-11T10:22:20.040 回答
0

SELECT round('rating') FROM table WHERE ... 

你正在四舍五入字符串 'rating' ,这就是为什么它给你零

试试这个

SELECT round(rating) FROM table WHERE ... 
于 2012-07-11T10:24:01.557 回答