select * from (select substr(a,-4) from table order by substr(a,-4) desc) where rownum=1
这样应该就可以了 select max(substr(a,-4)) from table
你的记录是8位数,所以以下: SELECT SUBSTR('ABCD5678',5,4) FROM DUAL; SELECT SUBSTR('ABCD5678',length('ABCD5678')-3,4) FROM DUAL; SELECT SUBSTR('ABCD5678',length('ABCD5678')-3,length('ABCD5678')) FROM DUAL; SELECT MAX(SUBSTR('ABCD5678',-4)) FROM DUAL;
where substr(A,length(A)-4,length(A))
in (select max(substr(A,length(A)-4,length(A))) from ta)
参考下 上面的链接
(select substr(a,-4) from table
order by substr(a,-4) desc)
where rownum=1
select max(substr(a,-4)) from table
SELECT SUBSTR('ABCD5678',5,4) FROM DUAL;
SELECT SUBSTR('ABCD5678',length('ABCD5678')-3,4) FROM DUAL;
SELECT SUBSTR('ABCD5678',length('ABCD5678')-3,length('ABCD5678')) FROM DUAL;
SELECT MAX(SUBSTR('ABCD5678',-4)) FROM DUAL;