select * from ProductTake where CheckDate between '2014-11-26' and '2014-11-26' order by ID desc这句话编译的时候,后面的where条件实际是:‘2014-11-26 00:00:00.000' and '2014-11-26 00:00:00.000'当然没有结果啦改一下 between '2014-11-26' and '2014-11-27'  或者  between '2014-11-26' and '2014-11-26 23:59:59.999' 

解决方案 »

  1.   

    如果像你那样写CheckDate between '2014-11-26' and '2014-11-26' 就相当于: CheckDate >='2014-11-26' and CheckDate<= '2014-11-26'  也是 CheckDate>='2014-11-26 00:00:00.000' and CheckDate<= '2014-11-26 00:00:00.000' 怎么会有结果呢?
      

  2.   

    CheckDate between '2014-11-26' and '2014-11-26' 等价于:
    checkdate='2014-11-26 00:00:00.000',既然是datetime,需要带上时分秒
      

  3.   

    select * from ProductTake where convert(varchar(10),CheckDate,120)  between '2014-11-26' and '2014-11-26' order by ID desc