SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.10.2011 17:17:58

vladkor
Участник
Зарегистрирован: 11.10.2011
Сообщений: 6

Значение -0 для поля float - что делать?

Всем доброго!
MySql 5.1.53-MariaDB, Linux.
Вследствие ошибки в софте образовалось значение поля qty (float) -0.
Лечится либо тупым update ...set qty=0, либо update ...set qty=qty*-1
Вопрос 1.
Каким select-ом найти такие записи?
Варианты с where qty<0 или where qty=-0 не работают.
Вопрос 2.
А как вообще интерпретировать значение -0 ? Как очень малое отрицательное ?
Спасибо.

Неактивен

 

#2 11.10.2011 23:50:14

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Значение -0 для поля float - что делать?

Не очень понятно, что за версия БД. Что дает запрос SELECT VERSION()?
Если MariaDB, то последняя стабильная сейчас - 5.2, попробуйте обновитесь.

Неактивен

 

#3 12.10.2011 09:57:21

vladkor
Участник
Зарегистрирован: 11.10.2011
Сообщений: 6

Re: Значение -0 для поля float - что делать?

Я ж указал - MySQL 5.1.53-MariaDB
Собственно вопрос по арифметике: если все поля float умножить на -1, то для нулевых значений получаем -0.
Проверено на версиях 5.1.30, 5.0.51a - та же песня...

Неактивен

 

#4 12.10.2011 23:20:22

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Значение -0 для поля float - что делать?

В MySQL 5.5.13 такая же картина yikes

Видимо, надо оформить баг с описанием, почему это плохо, чтобы занялись.

Неактивен

 

#5 12.10.2011 23:36:13

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Значение -0 для поля float - что делать?

Все-таки неполезно дублировать темы: http://sqlinfo.ru/forum/viewtopic.php?pid=27622#p27622

Это не баг, это так работают все современные машины

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson