Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Глючит запрос / 9 сообщений из 9, страница 1 из 1
29.12.2005, 14:20:01
    #33464374
Aksenov Yaroslav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
Здравсвуйте господа!
Не могу понять в чём дело:

mysql> select naimenov, kl_tochn from manometr where id_ = 10110306;
+----------+----------+
| naimenov | kl_tochn |
+----------+----------+
| МО 11201 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11202 | 0.4 |
| МО 11203 | 0.4 |
| МО 11203 | 0.4 |
| МО 11203 | 0.4 |
| МО 11203 | 0.4 |
| МО 11203 | 0.4 |
+----------+----------+
15 rows in set (0.01 sec)

А если вот так:
select naimenov from manometr where id_ = 10110306 and kl_tochn = 0.4;
то получаем:
Empty set (0.00 sec)

В чём может быть дело. MySql 4.0.16
...
Рейтинг: 0 / 0
29.12.2005, 14:33:00
    #33464422
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
Тип поля `kl_tochn`?
...
Рейтинг: 0 / 0
29.12.2005, 14:43:22
    #33464464
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
дай догадаюсь - тип поля double или real :-)
...
Рейтинг: 0 / 0
29.12.2005, 15:49:02
    #33464657
Aksenov Yaroslav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
тип поля float
...
Рейтинг: 0 / 0
29.12.2005, 16:43:02
    #33464806
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
А чего ж вы хотите? Это ж float!
...
Рейтинг: 0 / 0
29.12.2005, 17:09:37
    #33464863
Aksenov Yaroslav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
Всмысле!? И чего делать. Такие запросы, только с другими параметрама id_ и kl_tochn нормально отрабатывают. Это что, зависит от фазы луны!? Вы знаете как решить проблему?
...
Рейтинг: 0 / 0
29.12.2005, 17:21:37
    #33464898
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
Похоже, вы понятия не имеете о представлении чисел с плавающей запятой.
Ответ простой: не использовать тип float там, где предполагаются выбоки со сравнением типа "точное равенство". Из небогатого контекста задачи, который вы нам сообщили, оптимальным типом для этого поля будет decimal.
...
Рейтинг: 0 / 0
29.12.2005, 20:44:36
    #33465096
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
select naimenov from manometr where id_ = 10110306 and (kl_tochn - 0.4) < 0.001;
...
Рейтинг: 0 / 0
30.12.2005, 07:08:53
    #33465258
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит запрос
Не подойдёт. Т.к. сработает и для класса точности 0.1.
Правильным решением будет использовать другой тип данных.
Костылями -- предложенный Хреном вариант, только по модулю.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Глючит запрос / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]