SELECT *
FROM 档案
WHERE cast(日期+' '+时间 as datetime) BETWEEN '2003-5-11 18:25:10' AND '2003-5-14 18:25:10'

解决方案 »

  1.   

    测试:declare @档案 table(a int,日期 varchar(100),时间 varchar(100))
    insert @档案 values(1, '2003-5-13', '17:12:00')
    insert @档案 values(2 ,'2003-5-13',  '17:12:00')
    insert @档案 values(3 ,'2003-5-13' , '17:12:00')
    insert @档案 values(4 ,'2003-5-13'  ,'17:12:00')
    insert @档案 values(5 ,'2003-5-13'  ,'17:12:00')
    insert @档案 values(6 ,'2003-5-13'  ,'17:12:00')
    SELECT *
    FROM @档案
    WHERE cast(日期+' '+时间 as datetime) BETWEEN '2003-5-11 18:25:10' AND '2003-5-14 18:25:10'
      

  2.   

    to:
    pengdali(大力) 朋友,你试过了吗?为什么还是不行?
      

  3.   

    日期的类型
    如果是VARCHAR(10)/CHAR(10)
    大力的正确
    如果是DATETIME 修改如下
    SELECT *
    FROM @档案
    WHERE cast(convert(varchar(10),日期,120)+' '+时间 as datetime) BETWEEN '2003-5-11 18:25:10' AND '2003-5-14 18:25:10'