我有个表TABLE ,里面有个字段A ,他的记录是ABCD0001,ABCD0002,ABCD0005,ABCD0003。
我想用条语句查询出最后4位数最大的那条记录的后四位数,这个语句应该怎么写?各位拜托了

解决方案 »

  1.   

    select * from ta
    where substr(A,length(A)-4,length(A))
    in (select max(substr(A,length(A)-4,length(A))) from ta)
      

  2.   

    http://topic.csdn.net/u/20090910/15/7300c66d-0829-4608-b287-4eaf1a69274f.html
    参考下 上面的链接
      

  3.   

    select * from
     (select substr(a,-4) from table
      order by substr(a,-4) desc)
    where rownum=1
      

  4.   

    这样应该就可以了
    select max(substr(a,-4)) from table
      

  5.   

    你的记录是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;
      

  6.   

    在substr 前 套个 max即可