|
Тема |
Re: Странен mySQL [re: salle] |
|
Автор |
нeщacтeн (gan.hit.bg) |
|
Публикувано | 11.10.03 14:50 |
|
|
Това е добре, но при мен излизат 10-тина "странни" реда.
SELECT Total, Paid, Refund, Total-Paid-Refund AS Debt FROM `Invoice` WHERE Total-Paid-Refund>0 ORDER BY `Debt` ASC LIMIT 0, 30
Total Paid Refund Debt
55.49 31.49 24.00 0.00
77.93 17.93 60.00 0.00
359.92 323.93 35.99 0.00
111.65 51.65 60.00 0.00
65.87 41.87 24.00 0.00
146.02 68.21 77.81 0.00
216.08 96.08 120.00 0.00
128.99 92.99 36.00 0.00
349.48 316.18 33.30 0.00
401.06 324.03 77.03 0.00
314.81 99.14 215.67 0.00
401.80 200.91 200.89 0.00
427.79 247.79 180.00 0.00
193.78 193.77 0.00 0.01
Предполагам че тези числа не са набити с INSERT с точност до 2-я знак.
Примерно първото не е било 59.49 а 55.4934563... и
mySQL го е закръглил на 59.49.
Излиза обаче, че типът decimal само го показва до 2-я знак, но си го помни до незнам кой си знак. Някой има ли инфо до кой знак точно го помни???
В този случай аз си реших проблема като промених where клаузата на куерито
WHERE Total-Paid-Refund>=0.01 защото става дума за пари.
Но в друг случай едва ли ще бъде приложимо.
Все пак до колкото знам типът decimal е специално проектиран за работа с пари
и НЕ ТРЯБВА ДА ПРАВИ ТАКА!
Дали става въпрос за бъг?
- шантаво като теб ;)
|
| |
|
|
|