{% else-1 %}
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

#в результате выбрался желанный диаппазон
?>
2 41 0
Без комментариев...