Float и Double при BETWEEN в mysql
<?php
# Float и Double при BETWEEN в mysql
CREATE TABLE `t` (
`s_float` float(8,2) NOT NULL,
`e_float` float(8,2) NOT NULL,
`s_double` double(8,2) NOT NULL,
`e_double` double(8,2) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `t` VALUES ('1.12', '5.67', '1.12', '5.67');
#надо выбрать диаппазон, в который попадает число 1.12, ничего сложного?
SELECT * FROM t WHERE 1.12 BETWEEN s_float AND e_float
#получаем в результате 0 записей, хотя диаппазон такой есть
#чтобы не было проблем тип поля при такой выборке должен быть double, а не float
SELECT * FROM t WHERE 1.12 BETWEEN s_double AND e_double
#в результате выбрался желанный диаппазон
?>