我想获得超过91天的年龄记录。 我有一个存储过程(SQL SERVER 2008),它在fromDate和toDate之间进行搜索。
我必须获取记录 0-30天 31-60天 61-90天 91&上述
如何从c#传递91及以上的值?
我像这样传递
fromDate = DateTime.Today.AddDays(-91)
toDate = DateTime.Today.AddDays(?)
请帮忙。
答案 0 :(得分:2)
如果您不想使用sproc,或者它没有使用null值,则可以尝试todate = DateTime.MinValue
来捕获最多91天的所有日期。
<强>更新强>
对于SQL日期,您应该使用SqlDateTime.MinValue
(感谢@Tim)。
答案 1 :(得分:1)
我会修改你的存储过程,以便它需要Nullable<DateTime>
。然后你可以传递fromDate
并省略toDate
。
您必须修改查询才能将其考虑在内,例如:
SELECT Columns
FROM dbo.TableName
WHERE (DateCol >= @fromDate AND @tODate IS NULL)
OR (DateCol >= @fromDate AND @tODate IS NOT NULL AND DateCol <= @toDate)
答案 2 :(得分:1)
由于您的存储过程需要一系列日期,因此从下限开始到上限。你可以尝试
fromDate = new DateTime(1,1,1900); // or if you want the absolute min (1,1,1753)
toDate = DateTime.Today.AddDays(-91);