SELECT * FROM reserve WHERE status='已确认' order by cast(reserve_time as datetime)

解决方案 »

  1.   

    sqlstr="SELECT FROM reserve WHERE status='已确认' 
    order by convert(datetime,reserve_time)
      

  2.   

    不行噢,reserve_time在数据库中的格式是这样的:7:30或者18:29,你们这两种方法运行后都出错了,错误信息是:Microsoft OLE DB Provider for SQL Server 错误 '80040e07' 从字符串转换为 datetime 时发生语法错误。
      

  3.   

    reserve_time字段存的仅是时间?
    那你是取哪天的数据,如果只是根据时间的话,如下
    sqlstr="SELECT FROM reserve WHERE status='已确认' 
    order by convert(datetime,'2004-08-25'+reserve_time)
      

  4.   

    按照楼上的语句运行后还是出错,出错信息还是我回复的那错误信息!原程序里头语句是这样的:
    "SELECT reserve.*, member.nname,car_task.setouttime,car_task.setoutdate FROM reserve INNER JOIN member ON reserve.memberID = member.memberID INNER JOIN car_task ON reserve.reserveID = car_task.reserveID  WHERE reserve.status='已确认'order by car_task.setoutdate,car_task.setouttime"
    查询结果完全正确,排序是根据字段car_task.setoutdate和car_task.setouttime,要求在car_task.setoutdate相同的情况下按照car_task.setouttime排序,car_task.setoutdate在数据表中的类型是datetime的,存的是日期,格式如下:2004-8-25,car_task.setouttime是时间,格式如下:16:43。
      

  5.   

    sqlstr="SELECT FROM reserve WHERE status='已确认' 
    order by convert(datetime,'2004-08-25 '+reserve_time)这样你在试试,刚才我忘了在日期和时间之间加空格了,要有一个空格的,切记!