51Testing软件测试论坛

标题: 看下mysql下的一个问题,很奇怪 [打印本页]

作者: 多米尼克    时间: 2009-10-27 23:28
标题: 看下mysql下的一个问题,很奇怪
mysql版本是Server version: 5.0.37-community MySQL Community Edition (GPL)


自己建了个表
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | char(20)    | NO   |     |         |                |
| price | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------

插入了点数据

+----+-----------+--------+
| id | name      | price  |
+----+-----------+--------+
|  1 | toy       | 234.3  |
|  2 | cellphone | 2344.3 |
|  3 | book      | 455    |
|  4 | book      | NULL   |
+----+-----------+--------+
然后奇怪的事情来了,
select max(price) from produce; //查询最大的价格

结果是这个

+------------+
| max(price) |
+------------+
| 455        |
+------------+

明明应该是2344.5啊  怎么最大的价格变成455了


郁闷了,谁知道是什么原因伐
作者: My51@人生    时间: 2009-10-27 23:40
你的 price  是varchar型?
作者: 多米尼克    时间: 2009-10-28 10:16
是的 有问题吗
作者: csb821023    时间: 2009-10-28 12:34
貌似你的 price  类型有问题,你采用的是varchar,那么你在查询的比较的时候,字符之间的比较吧。
作者: 多米尼克    时间: 2009-10-28 14:51
哦 是这样回事啊,看来要选择货币型的类型的话 应该没问题了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2