今天在做mysql搜索时,发现一个问题mysql 的IF()方法,如果在返回的值所处的字段类型为float时,如果返回的值为float,例如:131.14,if方法就会自动将其值变为131.13999938965,不知道是为什么。具体sql语句和值如下:SELECT IF( price_max IS NULL , price_standard * ( 1 + float_rate ) , price_max ) AS 'max_price', IF( price_min IS NULL , price_standard * ( 1 - float_rate ) , price_min ) AS 'min_price', price_standard, float_rate, price_max, price_min
FROM `unit_price_standard`
WHERE ups_id =9
其中,原本预计的max_price的值为131.14,但是不知道为什么会莫名其妙的被变为131.13999938965。表结构和数字如下:CREATE TABLE `unit_price_standard` (
`ups_id` int(6) NOT NULL auto_increment COMMENT '表的主键,自增长',
`city_id` varchar(20) NOT NULL COMMENT '城市ID',
`district_id` varchar(20) NOT NULL COMMENT '区域ID',
`zone_id` char(50) NOT NULL COMMENT '板块ID',
`catmain_id` int(6) NOT NULL COMMENT '类型ID',
`tag_id` varchar(20) default NULL COMMENT '描述类别ID',
`property_graded` float default NULL COMMENT '项目等级',
`area_section` varchar(80) NOT NULL COMMENT '面积区间(分为:<90平米,91-140平米,141-200平米,201-280平米,281-350平米,>350平米)',
`max_area` int(11) default NULL COMMENT '最大面积',
`min_area` int(11) default NULL COMMENT '最小面积',
`price_standard` float default NULL COMMENT '标准价格(用于判断的标准价格)',
`price_max` float default NULL COMMENT '标准价格上浮比率float_rate后所形成的价格',
`price_min` float default NULL COMMENT '标准价格下浮比率float_rate后所形成的价格',
`asking_type` enum('r','s') NOT NULL COMMENT '价格是租的还是售的',
`float_rate` float default NULL COMMENT '从标准价格price_standard可以上下浮动的比率',
`insert_num` enum('insert','expired','use') NOT NULL default 'insert' COMMENT '数据生成的次序,是否是这一类型最后一次插入的数据,最后一次为''last'',其他的为‘expired’,正在使用的为''use''',
`time_created` date NOT NULL COMMENT '数据建立时间',
`time_modified` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT '数据更新时间(即时更新)',
`bool_approved` enum('y','n','insert','expired') default 'insert' COMMENT '数据是否经过审批(’y’经过审批,''insert''刚生成,还未审批,’n’未经过审批)',
PRIMARY KEY  (`ups_id`)
) ENGINE=MyISAM AUTO_INCREMENT=71 DEFAULT CHARSET=utf8 COMMENT='用作存储,数据控制时的标准对比数据。用法为将每期的每类的对比数据插入这个表,取最大ups_id的为最新的标准数,想看' AUTO_INCREMENT=71 ;-- 
-- 导出表中的数据 `unit_price_standard`
-- INSERT INTO `unit_price_standard` (`ups_id`, `city_id`, `district_id`, `zone_id`, `catmain_id`, `tag_id`, `property_graded`, `area_section`, `max_area`, `min_area`, `price_standard`, `price_max`, `price_min`, `asking_type`, `float_rate`, `insert_num`, `time_created`, `time_modified`, `bool_approved`) VALUES (1, 'Shanghai', 'BaoShan', 'DaHua', 1, '12', 0, '120-150', 150, 120, NULL, NULL, NULL, 'r', 0.2, 'expired', '2009-12-10', '2009-12-10 15:49:52', 'expired'),
(2, 'Shanghai', 'BaoShan', 'DongChengQu', 1, '12', 1, '>180', 10000000, 180, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(3, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '<180', 180, 0, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(4, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '180-250', 250, 180, 56.5166, NULL, NULL, 'r', 0.2, 'use', '2009-12-10', '2009-12-10 15:49:52', 'y'),
(5, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '180-250', 250, 180, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(6, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '250-280', 280, 250, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(7, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '250-280', 280, 250, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(8, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '280-350', 350, 280, 138.175, 158, 110.54, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(9, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '350-500', 500, 350, 109.368, 131.14, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(10, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '500-800', 800, 500, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(11, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '<180', 180, 0, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(12, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '<180', 180, 0, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(13, 'Shanghai', 'ChongMing', 'BuZhen', 1, '12', 3, '<70', 70, 0, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(14, 'Shanghai', 'PuDong', 'DaSanLin', 2, '1', 3, '>800', 10000000, 800, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(15, 'Shanghai', 'SongJiang', 'TianLin', 2, NULL, 3, '350-500', 500, 350, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(16, 'Shanghai', 'SongJiang', 'TianLin', 2, NULL, 3, '<180', 180, 0, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(17, 'Shanghai', 'SongJiang', 'TianLin', 2, '1', 3, '180-250', 250, 180, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(18, 'Shanghai', 'SongJiang', 'TianLin', 2, '1', 3, '250-280', 280, 250, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(19, 'Shanghai', 'SongJiang', 'TianLin', 2, '1', 3, '280-350', 350, 280, NULL, NULL, NULL, 's', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(20, 'Shanghai', 'SongJiang', 'XiChengQu', 2, '1', 2, '350-500', 500, 350, NULL, NULL, NULL, 'r', 0.2, 'insert', '2009-12-10', '2009-12-10 15:49:52', 'insert'),
(21, 'Shanghai', 'ChongMing', 'BuZhen', 1, '12', 3, '<70', 70, 0, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 15:50:27', 'insert'),
(22, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '280-350', 350, 280, NULL, NULL, NULL, 'r', NULL, 'expired', '2009-12-10', '2009-12-10 16:28:57', 'expired'),
(23, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '180-250', 250, 180, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-10', '2009-12-10 16:33:39', 'insert'),
(24, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '180-250', 250, 180, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 16:33:39', 'insert'),
(25, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '180-250', 250, 180, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-10', '2009-12-10 16:34:47', 'insert'),
(26, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '180-250', 250, 180, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 16:34:47', 'insert'),
(27, 'Shanghai', 'ChongMing', 'BuZhen', 1, '12', 3, '120-150', 150, 120, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-10', '2009-12-10 16:41:20', 'insert'),
(28, 'Shanghai', 'ChongMing', 'BuZhen', 1, '12', 3, '120-150', 150, 120, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 16:41:20', 'insert'),
(30, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '280-350', 350, 280, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-10', '2009-12-10 19:23:43', 'insert'),
(31, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '280-350', 350, 280, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 19:23:43', 'insert'),
(32, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '280-350', 350, 280, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-10', '2009-12-10 19:36:54', 'insert'),
(33, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '280-350', 350, 280, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 19:36:54', 'insert'),
(34, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '280-350', 350, 280, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-10', '2009-12-10 19:40:24', 'insert'),
(35, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, NULL, 3, '280-350', 350, 280, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 19:40:24', 'insert'),
(36, 'Shanghai', 'ChangNing', 'BeiXinJinXiBu', 2, '1', 3, '280-350', 350, 280, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-10', '2009-12-10 19:40:44', 'insert'),
(37, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '>800', 10000000, 800, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-11', '2009-12-11 11:06:19', 'insert'),
(38, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '>800', 10000000, 800, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-11', '2009-12-11 11:06:19', 'insert'),
(39, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '>800', 10000000, 800, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-11', '2009-12-11 11:06:54', 'insert'),
(40, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '>800', 10000000, 800, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-11', '2009-12-11 11:06:54', 'insert'),
(41, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '>800', 10000000, 800, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-11', '2009-12-11 11:12:24', 'insert'),
(42, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '>800', 10000000, 800, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-11', '2009-12-11 11:12:24', 'insert'),
(43, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '500-800', 800, 500, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-11', '2009-12-11 11:21:37', 'insert'),
(44, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '500-800', 800, 500, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-11', '2009-12-11 11:21:37', 'insert'),
(45, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '500-800', 800, 500, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-11', '2009-12-11 11:21:55', 'insert'),
(46, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '500-800', 800, 500, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-11', '2009-12-11 11:21:55', 'insert'),
(47, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '500-800', 800, 500, NULL, NULL, NULL, 'r', NULL, 'insert', '2009-12-11', '2009-12-11 11:23:38', 'insert'),
(48, 'Shanghai', 'BaoShan', 'LuoDian', 2, NULL, 4, '500-800', 800, 500, NULL, NULL, NULL, 's', NULL, 'insert', '2009-12-11', '2009-12-11 11:23:38', 'insert');