我希望查询一段时间内的数据
select Oper_name,Oper_time,Oper_thing from User_Log where Oper_time >= '2007-2-5 17:12:46' and Oper_time <= '2008-3-23 17:12:46'  //法完成预期操作
应该如何处理了,谢谢了

解决方案 »

  1.   

    select Oper_name,Oper_time,Oper_thing from User_Log where convert(datetime,Oper_time) between '2007-2-5 17:12:46' and '2008-3-23 17:12:46'
      

  2.   

    真搞不懂为什么要用varchar(20)来保存时间占空间:datetime 8,smalldatetime 4
    有效性验证:自己验证,datetime系统验证
    比较:还得转换为时间来比较,除非严格按照这种格式:yyyy-mm-dd hh:mm:ss
      

  3.   

    单单是字符比较:'2008-3-23 17:12:46' > '2008-12-23 17:12:46'格式很重要,包括数据的格式和条件的格式都要遵照:yyyy-mm-dd hh:mm:ssif '2008-03-23 17:12:46' < '2008-12-23 17:12:46' print '<'
      

  4.   

    如果是:'2007-02-05 17:12:46' ,'2008-03-23 17:12:46'这样的话,可以直接比较.  
    否则要先转换为datetime型.select Oper_name,Oper_time,Oper_thing from User_Log where cast(Oper_time as datetime) >= '2007-02-05 17:12:46' and Oper_time  <= '2008-03-23 17:12:46'