如何使用sql计算日期差异

时间:2015-05-17 17:21:17

标签: c# sql asp.net

我正在尝试从名为" Request"的表中提取最近7天的请求总数。它还有字段日期和时间以及其他记录。以下是我的代码:

 public void TotalRequest()
    {
        DateTime d1=DateTime.Now;
        DateTime d2=DateTime.Now.AddDays(-7);
        TimeSpan t=d1-d2;
        double days=t.TotalDays;
        SqlConnection MySQL = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
        string total_req = "select count(*) from Request where Date>='" + days + "'";
        SqlCommand com=new SqlCommand(total_req,MySQL);
        MySQL.Open();
        int Total_Requests = Convert.ToInt32(com.ExecuteScalar().ToString());
        MySQL.Close();
        Response.Write(Total_Requests.ToString());
    }

错误是"从字符串转换日期和/或时间时转换失败。"。请提前指导并感谢您宝贵的时间。

1 个答案:

答案 0 :(得分:2)

您需要为sql提供一种日期类型,因为它无法转换' days'。 你已经提前7天就已经有d2所以这样做了。

string total_req = "select count(*) from Request where Date>='" + d2.ToString() + "'";