如何从91&以上几天 - C#?

时间:2013-11-18 11:38:31

标签: c# datetime time

我想获得超过91天的年龄记录。 我有一个存储过程(SQL SERVER 2008),它在fromDate和toDate之间进行搜索。

我必须获取记录 0-30天 31-60天 61-90天 91&上述

如何从c#传递91及以上的值?

我像这样传递

 fromDate = DateTime.Today.AddDays(-91) 

 toDate = DateTime.Today.AddDays(?) 

请帮忙。

3 个答案:

答案 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);