C# 获取特定记录

C# 获取特定记录,c#,sql,datetime,C#,Sql,Datetime,我想检索2013年9月1日至2014年9月1日之间的记录 我目前的方法获取2014年9月至2015年9月的记录- 但应该是2013年9月至2014年9月。 我做错了是因为我现在有约会时间了 int thisYear = DateTime.Now.Year; DateTime thisYearStart = new DateTime(thisYear, 9, 1); DateTime thisYearEnd = thisYearStart.AddYears(1).AddTicks(-1); com

我想检索2013年9月1日至2014年9月1日之间的记录 我目前的方法获取2014年9月至2015年9月的记录- 但应该是2013年9月至2014年9月。 我做错了是因为我现在有约会时间了

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

请尝试使用以下日期作为开始日期和结束日期

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

这当然不是SQL,但我不想手动导入它应该自动拾取的日期。因此,从2013年9月9日到2014年9月9日,它每年都会收到记录。最后一个问题出于某种原因,我的sql查询不起作用-我得到了重复的记录列表。我如何将不同的单词应用于我的查询?我已更新了我的问题。请给我几分钟时间检查我有一个问题。您想在哪里应用distinct?在哪列上?我收到一个错误,为“cte”多次指定了列“ID”。我尝试从订单中删除ID,但出现了相同的错误