没有办法,
SQL 没有直接转换类型,然后再排序的函数,一句话写不出来。
而且在CHAR中‘12’比‘2’小,
所以要么你用数值类型,要么在小的数据前面填满字符0,然后再SELECT
要么你就要用象FOXPRO这样的支持很多扩展的SQL,那里允许你这么干。

解决方案 »

  1.   

    Select Max(Field) From Table
      

  2.   

    你用的是什么数据库? 
    应该是没有问题。在oracle中可如下:
    select max(to_number(字段名)) from 表名
    也就是先转换为数字再取最大值。
      

  3.   

    2 wl02272:
    在 SQL 里可以进行类型转换,用convert 或 cast 函数select convert(int,字段名) from 表名
      

  4.   

    2 peng_hui:
    >>select max(to_number(字段名)) from 表名
                 ~~~~~~~~~可以告诉我 to_number() 函数用于哪个库吗??
      

  5.   

    谢谢ZWHC,确实是这两个函数。但是:
    Paradox似乎不支持CAST和CONVERT,我检查了一下:
    Borland BDE LOCAL SQL 支持CAST
    INTERBASE 支持CONVERT
    SQL SERVER 两个都支持,
    那个是普遍通用的标准? CAST是SQL 92标准吧?
    现在是不是还有不支持这两个函数的ODBC 驱动?