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);
私は本当に混乱しています。
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);
私は本当に混乱しています。
データ型を float(2,1) から decimal(2,1) に変更してください。
SELECT ROUND(rating)
の代わりに試してくださいSELECT ROUND('rating')
。
文字列を丸めると、奇妙な結果になる可能性があります。あなたはおそらく列の値の後にいますが、これは。でエスケープすることは想定されていません'
。
と
SELECT round('rating') FROM table WHERE ...
文字列 'rating' を丸めているため、ゼロが返されます
これを試してください
SELECT round(rating) FROM table WHERE ...