sql="select max(to_number(sunstr(xx,-2,2))) from  biao  where  yy='11' "   
以前用sql server吧

解决方案 »

  1.   

    select max(substr(xx,-2)) from biao where yy='11'
      

  2.   

    substr  不行   测试提示ORA-00911: 无效字符
      

  3.   

    可以使用substr()函数
    substr(exp1,exp2[,exp3])exp1:要截取的字符串
    exp2:要截取的起始位置,如果是正数,如1,2则说明是从左向右取;如果是负数,如-1,-2则说明从右面算取n个字符,这时不需要exp3。
    exp3:在exp2为正数是限定截取字符串的长度
      

  4.   

    ORARichard(没钱的日子......) 我取出的所有的最后两位字符是字符 显示结果 rs("max(to_number(xx))")) 
      

  5.   

    select max(to_number((substr(xx,length(xx)-1,2))) from biao
    这样写 有没有问题 呢
      

  6.   

    是字符怎么能用to_number呢,把to_number去掉
      

  7.   

    字符类型不用TO_NUMBER 转换吗?
      

  8.   

    to_number('11')可以
    to_number('ab')不可以
      

  9.   

    在查询的时候 先用TO-NUMBER转成数字型 进行最大的判断 而显示的时候 我测试过了 所搜出来的结果是字符型
      

  10.   

    max(to_number(xx))‘XX是字段名  这样是可以的
      

  11.   

    select to_number(substr('abcd10',-2)) from dual;直接运行这句可以吗?
      

  12.   

    'abcd10'常量?
    还是换成这样?to_number((substr(Fwxxsh,-2))
      

  13.   

    在SQLPLUS中先测试一下,就用我给的句子。把结果贴上来
      

  14.   

    不用to_number
    樓主的表中的XX欄位可能含有字符或空格直接求max()就可以了
      

  15.   

    baojianjun(包子),不加to_number不行,
    select max(a) from (select '12' a from dual union all select '111' from dual);
    得到的是12.