用Max()函数查询出的最大值不是真正的最大值

使用的oracle数据库,clxxbh这个字段是varchar2类型的字段,不为空,不知道有什么情况会导致这个问题图片说明,求各位大神帮帮忙图片图片

clxxbh这个字段一般是什么样的?比如如果是纯数字的,就可以先转换为数字,在进行取值。select max(to_number(clxxbh)) from table

先按这个字段排序后再取

同一楼所说,to_number是转换成数字的

1.你的clxxbh字符段存的值都是数值的话,可以max(to_number(clxxbh))通过这个方法取。
2.都是英文和汉字的话,可以通过,然后orderby clxxbh.length desc去取第一条数据 。