sql server数据库系统,一个数据库的表,有两个字段:datetime和
  int类型。现在要从里面取出前面400条记录,
  要求:
      datatime中的日期为从大到小,(注:是日期,而datetime中包括了
  小时,分钟和秒,希望能在不修改数据库自段类型情况下实现。),当日期
  相同的时候,以int类型的那个字段从大到小的排列。

解决方案 »

  1.   

    select top 400 from .. where ... order by datatime,int desc不行吗?没试过
      

  2.   

    select top 400 * from table order by datetime,int desc
      

  3.   

    你的问题是不是在日期匹配时有问题?是否不能select指定某一日期的记录?
    请把tdatetime转换成double看看
      

  4.   

    不是的阿。我的天拉。呵呵。
     我知道天才的可以用。可问题是我在数据库里是用的datetime类型,
     关系到了小时,分钟和秒,这个字段记录的是该条记录入库的时间的。
     基本上order by das
      不好意思,上面的字不知道为什么无法删除。
     我用order by datetime 的时候,int的字段排序基本上等于无效了。
     smalldatetime和datetime是不一样的。 我问的问题就是这样的。因为数据库里都是2002-12-11 11:23:22这样的数据
     可我现在只要以时间中的日期来排。
      

  5.   

    select top 400 * from tablename
    order by convert(varchar(10),edate,120) desc,
             iint desc
    本来我的问题中已经写的很详细了。
     大侠们看的时候也看清楚点阿。
     不过我已经有人给答案了。