在数据库中时间是以2006-11-27 16:04:25.390的形式存储的
如果我要查在2006-11-27这一天的信息
以where saledate between '2006-11-27' and '2006-11-27'为条件则查不出来
而以where saledate between '2006-11-27' and '2006-11-28'则查的出来
我的问题是
怎样能够使区间两端的日期相同而查出当天的信息

解决方案 »

  1.   

    这样就行:
    where convert(char,saledate,111) between '2006-11-27' and '2006-11-27'
      

  2.   

    加小时段 where saledate between '2006-11-27 00:00:00' and '2006-11-27 23:59:59'
      

  3.   

    一定要用between 吗?
    where convert(varchar(10),saledate,20)='2006-11-27'可以吧
    实在不行用datepart也可以,where datepart(y,saledate)='2006' and datepart(m,saledate)='11' and datepart(d,saledate)='27'
      

  4.   

    '2006-11-27'默认为 '2006-11-27 00:00:00'
    所以where saledate between '2006-11-27' and '2006-11-27'
    等于
    where saledate between '2006-11-27 00:00:00' and '2006-11-27 00:00:00'
      

  5.   

    如要查询2006-11-27数据方法很多where convert(varchar(8),saledate,112)='20061127'

    where convert(varchar(10),saledate,120)='2006-11-27'
    等等
      

  6.   

    try:
    where convert(varchar(10) , saledate , 121 ) between '2006-11-27' and '2006-11-27'