比如说,sql里的数据有101,1010——1019,102等等数据,现在想输出最大的数据应该是1019,可是输出为102。用了一下排序,发现sql的排序是这样的,从小到大:101,1010,1011——1019,102,如果是排序方法的问题,我现在用的排序方法是chinese_prc,如果想输出最大数据为1019,应该怎么弄?谢谢大家!

解决方案 »

  1.   

    可以转换一下数据类型转换成数字的,
    用VAL函数转换一下.
      

  2.   

    你的字段类型是字符型的吧,用数值型就不会有这问题了。
    试试这样:
    select max(cast(字段 as int)) from 表
      

  3.   

    up xsp(半个程序员) ( )
      

  4.   

    order by 数字字段 desc
      

  5.   

    但是数字前面还有TP,TU之类的字符
      

  6.   

    SELECT MAX(CAST(RIGHT(YourFieldName, LEN(YourFieldName) - 3) AS Numeric)) AS MaxOfYourFieldName FROM YourTable