2006-12-8 15:16:58 2006-12-7 10:02:14 2006-12-6 14:56:46
比如说有这三条记录
我用 ..between 2006-12-6 and 2006-12-8 只能读到 06和07这两天的记录
08读不到  我一定要这样写..between 2006-12-6 and 2006-12-9 才能把这三条记录都读到. 就是说 一定要多写一天日期..  请问这是什么原因啊

解决方案 »

  1.   

    2006-12-6 and 2006-12-8默认为2006-12-6 00:00:00 and 2006-12-8 00:00:00
      

  2.   

    LZ可以用  where 2006-12-6<=time<=2006-12-8
      

  3.   

    between 2006-12-6 and 2006-12-8
    等于
    between 2006-12-6 00:00:00.000 and 2006-12-8 00:00:00.000加上时间就可以了,比如:between 2006-12-6 00:00:00.000 and 2006-12-8 23:59:59.999
      

  4.   

    都正确
    呵呵
    一般都是用>= and <=
      

  5.   

    select * from 表
    where datediff(day,时间字段,'2006-12-6')<=0 and datediff(day,时间字段,'2006-12-8')>=0
      

  6.   

    select * from tb where 时间字段>='2006-12-06' and 时间字段<='2006-12-08'
      

  7.   

    between 2006-12-6 and 2006-12-8 23:59:59这样就行了
    或 convert(varchar(10),时间列,120)  between '2006-12-6' and '2006-12-8'