用户输入一个开始日期和一个结束日期、查询这个时间段之间的交集、 各位大虾们、请指教呀...
where dtTimeBegin<=2011-07-02 and  dtTimeClose>=2011-07-03这样写怎么查不出数据 

解决方案 »

  1.   

    where dtTimeBegin<='2011-07-02' and dtTimeClose>='2011-07-03'
      

  2.   

    where dtTimeBegin>=2011-07-02 and dtTimeClose<=2011-07-03
      

  3.   

    where convert(date,dtTimeBegin)>=2011-07-02 and convert(date,dtTimeClose)<=2011-07-03
      

  4.   


    where dtTimeBegin>='2011-07-02' and dtTimeClose<='2011-07-03'
      

  5.   

    --要么
    where dtTimeBegin between '2011-07-02' and '2011-07-03'
    --要么
    where dtTimeBegin>='2011-07-02' and dtTimeClose<='2011-07-03'
      

  6.   

    where dtTimeBegin between '2011-07-02' and '2011-07-03'
      

  7.   

    where dtTimeBegin<'2011-07-03' and dtTimeClose>'2011-07-02'
      

  8.   

    where dtTimeBegin<'2011-07-03' and dtTimeClose>'2011-07-02'
      

  9.   


     where datediff(dd,dtTimeBegin,'2011-07-02' )<=0 and  datediff(dd,dtTimeBegin,'2011-07-03' )>=0 
      

  10.   

    第一符号写反了,应该
    where dtTimeBegin>='2011-07-02' and dtTimeClose<='2011-07-03'
    或者
    where dtTimeBegin between '2011-07-02' and '2011-07-03'第二考虑是否是因为时间格式和字符串格式原因。可以强制转换成时间格式where dtTimeBegin>=cast('2011-07-02' as datetime) and dtTimeClose<=cast('2011-07-03' as datetime)
    或者
    where convert(datetime,dtTimeBegin)>='2011-07-02' and convert(datetime,dtTimeClose)>='2011-07-03'