【发布时间】:2020-09-30 15:33:06
【问题描述】:
我想使用 SQL 语句来“过滤”或显示日期范围内的数据。
这是一个例子:
SELECT PRODUCTNAME, PRODUCTID, DESCRIPTION, EXPIREDDATE
FROM PRODUCT TABLE
WHERE EXPIREDDATE < (SELECT GETDATE())
上面的查询例如可以得到一个产品的ExpiredDate。
现在我正试图让用户知道下个月(将由他们自己输入)即将过期的产品列表。
让我详细说明一下:如果用户输入“3”,那么从今天开始假设 2020-01-01,直到接下来的 3 个月,即 2020-04-01,当ExpiredDate 在该日期范围内时,产品列表将显示给用户
public object expiredProduct (int month) //month will be user inputted value
{
// I skipped database connection here
SqlCommand command = new SqlCommand();
// what should I write here for comparing the date?
command.CommandText = SELECT PRODUCTNAME, PRODUCTID, DESCRIPTION, EXPIREDDATE FROM PRODUCT TABLE WHERE EXPIREDDATE < (SELECT GETDATE())
return list; // I return back my data here
}
上面的查询应该怎么写?
要求
我的日期是DateTime 数据类型。我正在使用 C# Web API。
【问题讨论】:
-
您需要将参数添加到
command.Parameters并在查询中引用它们。 -
@John 你的意思是我需要创建2个参数,分别存储今天日期
SELECT GETDATE()和另一个日期?但是现在我坚持如何根据用户输入将 month 添加到今天的日期
标签: c# sql-server linq asp.net-web-api