1

mysql DBratingに data typeのフィールドがありますfloat(2,1)。1行に値が含まれています0.5が、使用すると

SELECT round(rating) FROM table WHERE ...1 の代わりに 0 の値を与えます。

しかしSELECT round(0.5)、価値があります1(Postgresqlにも)。

また、PHP は常に次の値1を提供します。echo 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 に答える