获取具体记录

时间:2014-02-19 14:17:38

标签: c# sql datetime

我想在2013年9月1日至2014年9月1日期间检索记录 我目前的方法获得2014年9月至2015年9月的记录 - 但它应该是2013年9月到2014年9月。 我做错了是因为我得到DateTime.Now?

int thisYear = DateTime.Now.Year;
DateTime thisYearStart = new DateTime(thisYear, 9, 1);
DateTime thisYearEnd = thisYearStart.AddYears(1).AddTicks(-1);
command.Parameters.AddWithValue("@Date1", thisYearStart);
command.Parameters.AddWithValue("@Date2", thisYearEnd);

从这个如何选择不同的记录?

WITH cte AS 
(
    SELECT ROW_NUMBER() OVER(ORDER BY ID, Name,SName, DOB) AS ROW, * 
    FROM TableName 
    WHERE Date > @Date1 And Date < @Date2
) 
SELECT * FROM cte 
WHERE ROW BETWEEN 1 AND 200

1 个答案:

答案 0 :(得分:0)

请尝试使用以下内容作为startDate和endDate。

DateTime startDate = new DateTime(DateTime.Now.Year-1,9,1);
DateTime endDate = new DateTime(DateTime.Now.Year,9,1);
command.Parameters.AddWithValue("@time", startDate);
command.Parameters.AddWithValue("@time2", endDate);

尝试使用不同的

WITH cte AS 
(
    SELECT DISTINCT ID, ROW_NUMBER() OVER(ORDER BY ID, Name,SName, DOB) AS ROW, * 
    FROM TableName 
    WHERE Date > @Date1 And Date < @Date2
) 

SELECT * FROM cte 
WHERE ROW BETWEEN 1 AND 200