[Gisma]
Новичок
Сравнение float
MySQL 5.0.16
Никто не сталкивался с проблемой сравнения float чисел
Есть таблица галереи. SQL :
CREATE TABLE `gallery_image` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`order` int(11) NOT NULL,
`tree` int(11) NOT NULL,
`moderate` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`rating` float NOT NULL,
PRIMARY KEY (`id`),
KEY `rating` (`rating`)
) AUTO_INCREMENT=5 ;
INSERT INTO `gallery_image` VALUES (1, '12222', 0, 1, 0, 0, 7.6667);
INSERT INTO `gallery_image` VALUES (2, 'background', 0, 1, 0, 0, 0);
INSERT INTO `gallery_image` VALUES (3, '1', 1, 1, 1, 1, 7.6667);
Нужно выбрать все ряды где рейтинг 7.6667 меньше
SELECT * FROM `gallery_image` WHERE `rating` < 7.6667
MySQL возвращает все три записи вместо одной?
На запрос :
SELECT * FROM `gallery_image` WHERE `rating` = 7.6667
Получаю 0 записей
Подскажите плиз где я неправ
MySQL 5.0.16
Никто не сталкивался с проблемой сравнения float чисел
Есть таблица галереи. SQL :
CREATE TABLE `gallery_image` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`order` int(11) NOT NULL,
`tree` int(11) NOT NULL,
`moderate` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`rating` float NOT NULL,
PRIMARY KEY (`id`),
KEY `rating` (`rating`)
) AUTO_INCREMENT=5 ;
INSERT INTO `gallery_image` VALUES (1, '12222', 0, 1, 0, 0, 7.6667);
INSERT INTO `gallery_image` VALUES (2, 'background', 0, 1, 0, 0, 0);
INSERT INTO `gallery_image` VALUES (3, '1', 1, 1, 1, 1, 7.6667);
Нужно выбрать все ряды где рейтинг 7.6667 меньше
SELECT * FROM `gallery_image` WHERE `rating` < 7.6667
MySQL возвращает все три записи вместо одной?
На запрос :
SELECT * FROM `gallery_image` WHERE `rating` = 7.6667
Получаю 0 записей
Подскажите плиз где я неправ
