在SQL中创建了一个表book,有很多记录,其中有字段book_id,char(9)类型,格式是:DB_0001_1,现在我想查询中间四个数字最大的字段的值,应该如何使用SQL查询?我试着在Delphi中定义了一个string类型的变量,将查询结果赋值给这个变量,为什么得到空字符串呢?

解决方案 »

  1.   

    select max(cast(substring(book_id,4,4) as int))
    from book
    试试!
      

  2.   

    为什么我安装的Delphi中没有substring这个函数呢?
      

  3.   

    同意 dulei115() ,这是sql语句,赋给adoquery就可以得出结果了
      

  4.   

    subsring 函数好象要包含 vcl 文件的吧。
      

  5.   

    select max(cast(substring(book_id,4,4) as int))
    from book;
    同意!
    这个是SQL语句,当然没有SUBSTRING。
    还有,肯定你写的SQL有问题,所以为空值。
      

  6.   

    这是sql语句,由数据库来完成执行的,delphi当然没有了,也不需要有啊。