MYSQL MAX 函数的奇怪值问题

2600阅读 0评论2015-03-18 tansijie
分类:Mysql/postgreSQL

编写了一个SQL语句,在执行过程中,发现这个SQL的MAX函数有些问题,情况如下:
select max(CONV(SUBSTRING(SIN_SERIAL,5),16,10 ) ) as serial FROM IN_TELE_150318 WHERE MID(SIN_SERIAL,4,1) = '1' ;

执行结果如下:
mysql> select  max(CONV(SUBSTRING(SIN_SERIAL,5),16,10 ) ) as  serial
  FROM IN_TELE_150318 WHERE MID(SIN_SERIAL,4,1) = '1'  ;
+--------+
| serial |
+--------+
| 99     |
+--------+
1 row in set
mysql> 


然后去掉max 函数,执行如下:
select  CONV(SUBSTRING(SIN_SERIAL,5),16,10 )  as  serial 
  FROM IN_TELE_150318 WHERE MID(SIN_SERIAL,4,1) = '1' 

。。。。。
| 117    |
| 118    |
| 119    |
+--------+
119 rows in set

总共119条记录,最大值也是119 ,但是用MAX函数取出来就是99
真想知道导致这个问题的原因是什么呀?
上一篇:MYSQL C CONNECT 预处理方式数据库访问
下一篇:localtime_r 函数被阻塞住,进程杀不死