依据ASC码比较大小.
小写字母的ASC码大于大小字母的ASC码.select ASC('A'),ASC('a') from dual;
ASC('A') --> 65
ASC('a') --> 97

解决方案 »

  1.   

    按照字符的ascii码 一位一位的进行比较
    通过ascii()函数可以查看字符的ascii码
    select ascii('C') from dual;
      

  2.   

    不好意思, 2楼回复的函数有误, 
    正确是ASCII()
      

  3.   

    SELECT ASCII('f'),ASCII('C') FROM dual;
    102    67
      

  4.   


    SQL> with t as(
      2   select 'ffff' code from dual union all
      3   select 'cs' from dual union all
      4   select 'cs' from dual union all
      5   select 'cs' from dual union all
      6   select 'ffff' from dual union all
      7   select 'cs' from dual
      8   )
      9  select max(code) from t;
    /*
    MAX(CODE)
    ---------
    ffff
    */
    SQL> with t as(
      2   select 'ffff' code from dual union all
      3   select 'cs' from dual union all
      4   select 'cs' from dual union all
      5   select 'cs' from dual union all
      6   select 'ffff' from dual union all
      7   select 'cs' from dual
      8   )
      9  select min(code) from t;
    /*
    MIN(CODE)
    ---------
    cs
    */
    SQL> select ascii('f'),ascii('c') from dual;
    /*
    ASCII('F') ASCII('C')
    ---------- ----------
           102         99
    */
    --102>99,所以max(code)返回'ffff',min(code)返回'cs'
      

  5.   

    一般而言字符串只比较第一个字母,max就是第一个字母最大的,
    不过如果如下所示:
    ab
    ac
    ad
    这个比较的结果就不清楚了。
      

  6.   

    对,就是按照字符的ASCII逐个的进行比较。