返回9是正常的,因为conv()函数返回的结果是个字符串,而字符串比较首先比较第一个字符,第一个字符大的话则这个串就大,想同的话才继续比较下位,显然数字中9是最大的,结果就是9了。如果你想取实际对应数值最大的,需要转化为整型,可以用cast或convert函数,比如:
SELECT MAX(CONVERT(CONV(PAGEID,10,10),unsigned)) AS MYMAX FROM SYSPAGE WHERE SYSID='111111111' AND MODULEID='10';