select * from 【table】 where 时间 between ‘20110501’ and ‘20110531’正常情况下可以查到1号到30号数据,但31号也是有数据内容的,就是查不出来讨论下少一条数据的问题已经解决了。就是想讨论下,,,上面那条语句为什么找不到31号,谢谢

解决方案 »

  1.   

    between ‘20110501 00:00’ and ‘20110531 23:59’5月1号0点到31号0点加个时间段就好了  
      

  2.   

    因为between and 在SqlServer中是[value1, value2)(其他数据库可能不同),即大于等于前一个值,小于后面值
      

  3.   

    between ‘20110501’ and ‘20110531’
    相当于 2011-05-01 00:00:00 到 2011-05-31 00:00:00可以改为 between ‘20110501’ and ‘20110601’
      

  4.   


    我试过这样的写法    时间<='20110531' and 时间>='20110501'  和between and 查询结果一样,所以………………
      

  5.   

    如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:SELECT * FROM Persons
    WHERE LastName
    BETWEEN 'Adams' AND 'Carter'重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。