select top      5000 *  from V_Sku_Record  WHERE 1=1   
and VisitDate >= '2011-10-11 00:00:00' 
and VisitDate <= '2011-10-12 00:00:00'  
ORDER BY  UserCode desc 这sql语句为什么每次查询的结果都不一样

解决方案 »

  1.   


    select top 5000 * from V_Sku_Record WHERE 1=1   
    and VisitDate between '2011-10-11 00:00:00'  
    and '2011-10-12 00:00:00'   
    ORDER BY UserCode desc 
      

  2.   

    VisitDate 的格式是  '2011-10-12 00:00:00'   
    这种格式吗
      

  3.   

    在sql的查询分析器里面执行N次,总条数会变··
      

  4.   

    delete WHERE 1=1   try.
      

  5.   

    VisitDate >= cdate('2011-10-11 00:00:00')
    这样试一下呢。倒不一定非是cdate函数,这个根据你的库来的,就是一个函数将后面的'2011-10-11 00:00:00'文本转换成日期时间格式。
    另外不太明白你的where 1=1 是做什么用的。select top 50 * from V_Sku_Record WHERE    
    VisitDate >= cdate('2011-10-11 00:00:00')
    ORDER BY UserCode desc  你先这样试,然后再慢慢分析问题所在
      

  6.   

    你用between XXX  and XXX
      

  7.   

    where 1=1 防止传入空条件?
      

  8.   


    另,你的UserCode 是什么东东? 试一下,ORDER BY UserCode desc 这样子语句去掉后,总条数变吗
      

  9.   

    select top 5000 * from V_Sku_Record WHERE 1=1 
    and VisitDate >= '2011-10-11 00:00:00' 
    and VisitDate <= '2011-10-12 00:00:00' 试一下,ORDER BY UserCode desc 这条子语句去掉后,总条数变吗
      

  10.   


    ORDER BY VisitDate desc  这样呢?