beginTime 和 endTime是这样的字符串 2006-09-22 14:59:19timestamp是SQL server2000数据库里面的字段。格式也是 2006-09-22 14:59:19
为什么下面这个SQL查不到东西??
是不是Convert(varchar(19),event.[timestamp],121)不对??SELECT * FROM event WHERE Convert(varchar(19),event.[timestamp],121) BETWEEN @beginTime AND @endTime"

解决方案 »

  1.   

    还是不行!!!!!!!!!!!!!SELECT * FROM event WHERE event.timestamp BETWEEN @beginTime AND @endTime
      

  2.   

    楼上正解,ASP.NET里应该有时间的比较函数.
      

  3.   

    @beginTime ,@endTime是SP里的参数么?是的话直接定义成DATETIME类型就可以了,这样传入字符会被转换成DATETIME类型
      

  4.   

    我是这样用的。。不知道为什么不行。
       <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:snortConnectionString %>"
                SelectCommand="SELECT * FROM event WHERE Convert(varchar(19),event.[timestamp],121) BETWEEN @beginTime AND @endTime"
      OnSelecting="SqlDataSource1_Selecting"> 
            <SelectParameters>
            <asp:Parameter Name="beginTime" Type="dateTime" />
            <asp:Parameter Name="endTime" Type="dateTime" />
            </SelectParameters>
      

  5.   

    确定有记录吗?把SQL单独拿出去去查询分析器跑下看看,语句应该没问题
      

  6.   

    1 条件中早的时间必须在AND前面
    2 没有时间的DATETIME默认开始时间为00:00:00
    3 时间包括BETWEEN条件